Breaking News
Loading...
Wednesday 12 September 2012

Generate negative image using ColorMatrix

17:41
Last exercise demonstrate "how to use ColorMatrix to change Bitmap". With a suitable ColorMatrix assigned to ColorMatrixColorFilter(), we can generate negative image easily.

Generate negative image using ColorMatrix


Modify onDraw() method of MyView.java in last exercise.
 @Override
protected void onDraw(Canvas canvas) {

//To generate negative image
float[] colorMatrix_Negative = {
-1.0f, 0, 0, 0, 255, //red
0, -1.0f, 0, 0, 255, //green
0, 0, -1.0f, 0, 255, //blue
0, 0, 0, 1.0f, 0 //alpha
};

Paint MyPaint_Normal = new Paint();
Paint MyPaint_Negative = new Paint();
ColorFilter colorFilter_Negative = new ColorMatrixColorFilter(colorMatrix_Negative);
MyPaint_Negative.setColorFilter(colorFilter_Negative);

Bitmap myBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
canvas.drawBitmap(myBitmap, 400, 100, MyPaint_Normal);
canvas.drawBitmap(myBitmap, 500, 100, MyPaint_Negative);
};


download filesDownload the files.

0 comments:

Post a Comment

 
Toggle Footer