まっさんの日記

まっさんの日記

PR

×

カレンダー

キーワードサーチ

▼キーワード検索

コメント新着

Mizuki8515 @ Re:塗装の縮れ(対策)(10/07) この方法は確かに有効そうですね。クリア…
2022.11.18
XML
カテゴリ: 仕事

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

キングジム/ブギーボード 黒/BB-1GXクロ
価格:3668円(税込、送料無料) (2022/11/18時点)





GPSロガーアプリのArchiveで画像ファイルを扱っていますが、
縦向きの画像ファイルのサイズを大きくしてみました。



このことは、
Androidだけなのかもしれませんが、、、

カメラで撮影した画像は、
カメラからbitmapとして取得して、
それを画像ファイルとして出力します。
画像ファイルに書き出すときに、
圧縮方式(jpeg、pngとか)を指定します。


その画像が縦向きで撮影したものか、横向きで撮影したものか、
データからじゃ、わからんのです。
getWidth、getHeightで取得できる値は、
縦向きで撮影しても、横長のサイズで返されます。

そこで、カメラが縦向きか、横向きかを
センサーを使って判定するわけです。
以前は傾きを直接とれていたみたいですが、
最近は、加速度センサーと磁気センサーの値を使って、
傾きを計算します。

double resizeScale;
// Matrix インスタンス生成

matrix.setRotate(angle, (float) bitmap.getWidth() / 2, (float) bitmap.getHeight() / 2);
// 回転したBitmap画像を生成
Bitmap bitmap2 = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
resizeScale = (double) 1024 / bitmap2.getWidth();
Bitmap bitmap3 = Bitmap.createScaledBitmap(bitmap2, (int) (bitmap2.getWidth() * resizeScale), (int) (bitmap2.getHeight() * resizeScale),true);


傾きを計算してangleという変数に入れています。
カメラから取得したbitmapを横向きに回転して、
それを横のサイズが1024になるように、
縮小・拡大しています。

ここでのポイントは、
先に画像を横向きにして、
所定の画像サイズに縮小・拡大することです。

ちゃんとした画像ファイルには、
画像データのほかにExifという画像の向きなどの情報がついています。
画像データを表示する場合、
このExif情報を使って、表示しないと、正しい向きで画像が表示できません。
詳しくは、 こちら です。

ポチッ として頂けると、
次のコンテンツを作成する励みになります♪
ブログランキング・にほんブログ村へ





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2022.11.18 11:31:21
コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Design a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: