指定されたビットマップをトリミングしてスケーリングしようとしていますが、スケーリングのみが機能します。
私は何を間違っていますか?
private Bitmap CropAndShrinkBitmap(Bitmap io_BitmapFromFile, int i_NewWidth, int i_NewHeight)
{
int cuttingOffset = 0;
int currentWidth = i_BitmapFromFile.getWidth();
int currentHeight = i_BitmapFromFile.getHeight();
if(currentWidth > currentHeight)
{
cuttingOffset = currentWidth - currentHeight;
Bitmap.createBitmap(i_BitmapFromFile, cuttingOffset/2, 0, currentWidth - cuttingOffset, currentHeight);
}
else
{
cuttingOffset = i_NewHeight - currentWidth;
Bitmap.createBitmap(i_BitmapFromFile, 0, cuttingOffset/2, currentWidth, currentHeight - cuttingOffset);
}
Bitmap fixedBitmap = Bitmap.createScaledBitmap(i_BitmapFromFile, i_NewWidth, i_NewHeight, false) ;
return i_BitmapFromFile;
}
説明によると、「createBitmap は不変のビットマップを返します」。
それはどういう意味ですか?それは私の問題の原因ですか?