【发布时间】:2012-06-08 05:06:03
【问题描述】:
我的文件中有一张纵向模式的图片,我想用作壁纸。 到目前为止这很容易。 但图片的比例与我的设备屏幕不同。所以屏幕底部有一个空白部分。 我对图形工作真的很糟糕。 如何缩放位图以适合我的屏幕?只要看到的部分居中,我是否丢失信息也没关系。
【问题讨论】:
我的文件中有一张纵向模式的图片,我想用作壁纸。 到目前为止这很容易。 但图片的比例与我的设备屏幕不同。所以屏幕底部有一个空白部分。 我对图形工作真的很糟糕。 如何缩放位图以适合我的屏幕?只要看到的部分居中,我是否丢失信息也没关系。
【问题讨论】:
这听起来像是 9patch 工具的工作
http://developer.android.com/guide/developing/tools/draw9patch.html
您可以使用此工具设置要拉伸的区域以及保持不变的区域。
【讨论】:
首先你在Bitmap 和public static Bitmap decodeResource (Resources res, int id) 中获取你的图片(如果图片是应用资源,如果不是,你可以使用public static Bitmap decodeFile (String pathName) 来读取文件)
然后将该位图作为参数传递给下一个方法,其中包含您要从Bitmap 裁剪的矩形,结果您将获得一个裁剪的位图:
public static Bitmap createBitmap (Bitmap source, int x, int y, int width, int height)
Bitmap bmp = BitmapFactory.decodeResource( getResources() , R.drawable.your_image );
Bitmap croppedBmp = Bitmap.createBitmap(bmp, 100, 100, 400, 800);
这是你需要的吗?
【讨论】: