2017-06-06 5 views
0

何をしようとしていますかは、オーバーレイされた2つのビットマップで構成される編集済みビットマップを保存することです。私のアプリケーションでは、ユーザーは画像の上に描画して保存することができます。幅と高さを縮めずにビットマップイメージを保存する

私の問題は次のとおりです。私は結果画像を保存するとき、それは、そうであっても100に品質を設定し、小さくなる、ユーザーが複数回保存し、画像を編集した場合、画像はますます小さくなります。

私はこれでビットマップを保存します。

result.compress(Bitmap.CompressFormat.JPEG, 100, fos); 

私は、コードをデバッグし、この時点では、幅と高さが細かいですが、保存した後、画像を縮小します。

私はこれに関する質問を調査しましたが、私が見つけたものは私に役立つ答えがありませんでした。私は必要なもの

は、それを縮小せずにビットマップを保存する方法ですが、私はそれが

おかげで、事前になどJPG、PNG、同様に、画像形式にする必要があります。

+0

compressを呼び出す前に 'result'のサイズをログに記録してください。それはあなたが期待するものでしょうか?出力ファイルはどうですか?そのサイズは何ですか? – lelloman

+0

元の画像サイズは520x390です。イメージをリロードしないと、サイズは保持されますが、イメージをリロードすると、イメージサイズは260x195に変わります。編集して再読み込みすると、130x98に変わります。 (毎回半分のサイズ) –

+0

あなたはあなたの "リロード"コード – lelloman

答えて

0

画像を保存している時点ではないと思いますが、画像を編集しているとき(レイヤーを作成中)に問題が発生します。そのメカニズムをチェックしてください。おそらくイメージサイズをそこに設定しています。

+0

あなたが正しいです、圧縮メソッドdoesntは、私が間違っているレイアウトは、オーバーライドされたメソッドonSizeChangedにビットマップを保存するレイアウトのサイズを取得していた。ありがとうございました。 –

+0

よろしくお願いします! –

関連する問題