標題の通りなんですが、取得したURIからBitmapへ変換して、んでイメージファイルにする…っていう一連の処理をネットでググって作ったんですが…。
ファイルサイズがデカい…orz
という壁にぶち当たりましたw
元々の画像ファイルのサイズは3MBぐらいなのですが、これをBitmapに変換してファイルにすると…ほぼ倍のサイズになるんですよねw
圧縮最高!と言われてる?webpの拡張子にして倍のサイズです。
pngやjpgにすると、更に増加するという…w
どうしたらいいかなぁ〜ってことで、またもや色々と調べてたら…なかかなか凄い記事を発見しこれを書いて動かしたところ、元のファイルサイズよりも減少させて保存することに成功(o^^o)
ということで、詳しくは以下の記事をご参考ください!
サイズを指定する感じになりますが…w
android - How to reduce image size into 1MB - Stack Overflow
java - Compress bitmap to a specific byte size in Android - Stack Overflow
上記の書き方はjavaになりますので、Kotlinでの書き方はものによって変わります。
例えば
canvas.drawBitmap(input, 0, 0, null)
の場合、Kotlinでは
canvas.drawBitmap(input, 0.0F, 0.0F, Paint())
とかですね。
FloatをKotlinで表す場合、最後に「F」を付けないとあかんようですσ(^_^;)
Canvasでいろいろ描画 | karino2のあおぞらAndroid開発教室
記事を書いてアップしてくれた方々、誠にありがとうございます!
ファイルの容量サイズ変更よりも、画像自体の大きさを縮小する!といった記事がメチャクチャ多いんですよねぇ〜。
Android developerの記事にもありますし。
(これは別の処理で大変お世話になりました!)
大容量のビットマップを効率的に読み込む | App quality | Android Developers
それと…。
今回の話に繋がる部分で、画像周りで使う処理をまとめてくれている記事も見つけましたので、こちらも参考になりました!
Android: 画像周りの処理を楽にするUtilクラス。Bitmap生成、拡大縮小リサイズ、バイト配列<=>Bitmapなどなど #android開発 - Qiita
保存ファイルサイズを減らす…で調べてた時に偶然見つけたんですが、これ凄いですね!
記事の投稿者さん、ありがとうございます!!
感謝感謝です!
メモリ使用の圧迫を防ぎたい!っていう人、必見です♪
自分用の備忘録として残しておきま〜す^ ^
ではでは!