Android对图片处理的几种效果
最近对图片显示效果的东西比较多,整理了一下
第一种,图片绘制成圆角的
public class RoundConcerActivity extends Activity
{
/** Called when the activity is first created. */
private ImageView roundImage = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
roundImage = (ImageView)findViewById(R.id.roundconcer);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.a);
roundImage.setImageBitmap(getRoundCornerImage(bitmap, 50));
}
public static Bitmap getRoundCornerImage(Bitmap bitmap, int roundPixels)
{
//创建一个和原始图片一样大小位图
Bitmap roundConcerImage = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
//创建带有位图roundConcerImage的画布
Canvas canvas = new Canvas(roundConcerImage);
//创建画笔
Paint paint = new Paint();
//创建一个和原始图片一样大小的矩形
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
RectF rectF = new RectF(rect);
// 去锯齿
paint.setAntiAlias(true);
//画一个和原始图片一样大小的圆角矩形
canvas.drawRoundRect(rectF, roundPixels, roundPixels, paint);
//设置相交模式
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
//把图片画到矩形去
canvas.drawBitmap(bitmap, null, rect, paint);
return roundConcerImage;
}
}
Bitmap createVideoThumbnail(String filePath, int kind)创建一张视频的缩略图。如果视频已损坏或者格式不支持可能返回null。
参数:
filePath: 视频文件路径
kind: 文件种类,可以是 MINI_KIND 或 MICRO_KIND
Bitmap extractThumbnail(Bitmap source, int width, int height, int options)创建所需尺寸居中缩放的位图。
参数:
source: 需要被创造缩略图的源位图对象
width: 生成目标的宽度
height: 生成目标的高度
options:在缩略图抽取时提供的选项
Bitmap extractThumbnail(Bitmap source, int width, int height)创建所需尺寸居中缩放的位图。
参数:
source: 需要被创造缩略图的源位图对象
width: 生成目标的宽度
height: 生成目标的高度
public class ThumbnailActivity extends Activity {
private Bitmap bitmap = null;
private ImageView image;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
image = (ImageView) findViewById(R.id.image);
//得到原图片
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.v);
//得到缩略图
bitmap = ThumbnailUtils.extractThumbnail(bitmap, 100, 100);
image.setImageBitmap(bitmap);
}
}