2011-01-31 16 views
0

BlackBerryサポートフォーラムのスレッド"Resizing bitmap without creating encoded image"を使用してアプリケーションのビットマップのサイズを変更する作業を進めています。しかし、そのスレッドのコードでは、ビットマップを幅360から0に右から左にだけ縮小することができます。どのようにして左から右にサイズを変更できますか?このBlackBerryのビットマップのサイズ変更

+0

スケール変更は、いくつかの方向に画像上で動作するが、結果は、スケーリングされた画像であろう - ない左から右または右から左への考慮の結果ではありません。実行している問題は何ですか? –

+0

こんにちはMichealメソッドresizeBitmap(ビットマップイメージ、int幅、int高さ)の幅を320と指定すると、右端から40ピクセル減少しています。私は左端から減らそうとしています。どうすればいいですか? – Koushik

+0

「サイズ変更」ではなく「切り抜き」を意味すると思います。サイズ変更とは、使用するピクセル数を増減しながら画像のすべての部分を保持することを意味します。 「切り取る」とは、画像の大部分を削除することを意味します。 –

答えて

0

使用:

int oolddWidth; 
int oolddHeight; 
int ddispplayWidth; 
int ddispplayHeight; 
EncodedImage eih1 = EncodedImage.getEncodedImageResource("add2.png"); 
oolddWidth = eih1.getWidth(); 
oolddHeight = eih1.getHeight(); 
ddispplayWidth = Display.getWidth()-40; 
ddispplayHeight = 80; 
    int nnumeerator = net.rim.device.api.math.Fixed32.toFP(oolddWidth); 
    int ddenoominator = net.rim.device.api.math.Fixed32.toFP(ddispplayWidth); 
    int wwidtthScale = net.rim.device.api.math.Fixed32.div(nnumeerator, ddenoominator); 
    nnumeerator = net.rim.device.api.math.Fixed32.toFP(oolddHeight); 
    ddenoominator = net.rim.device.api.math.Fixed32.toFP(ddispplayHeight); 
    int hheighhtScale = net.rim.device.api.math.Fixed32.div(nnumeerator, ddenoominator); 
    EncodedImage newEih1 = eih1.scaleImage32(wwidtthScale, hheighhtScale); 
    final Bitmap header1 = newEih1.getBitmap(); 
関連する問題