Copy of Android bitmap and panning rotation zoom effect
Last Update:2015-08-31
Source: Internet
Author: User
<span id="Label3"></p>Package com.example.bitmap;<br><br><br>Import android.app.Activity;<br>Import android.graphics.Bitmap;<br>Import android.graphics.BitmapFactory;<br>Import android.graphics.Canvas;<br>Import android.graphics.Matrix;<br>Import android.graphics.Paint;<br>Import android.os.Bundle;<br>Import android.view.View;<br>Import android.widget.ImageView;<br><br><br>public class Mainactivity extends Activity {<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Private ImageView iv1;<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Private ImageView iv2;<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Private Bitmap srcbitmap;<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Private Bitmap alterbitmap;<br><span style="white-space:pre"><span style="white-space:pre"></span></span>@Override<br><span style="white-space:pre"><span style="white-space:pre"></span></span>protected void OnCreate (Bundle Savedinstancestate) {<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Super.oncreate (savedinstancestate);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Setcontentview (r.layout.activity_main);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>iv1= (ImageView) Findviewbyid (r.id.iv1);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>iv2= (ImageView) Findviewbyid (r.id.iv2);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>1. Set a bitmap for V1<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Srcbitmap=bitmapfactory.decoderesource (getresources (), r.drawable.ic_launcher);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Iv1.setimagebitmap (srcbitmap);<br><span style="white-space:pre"><span style="white-space:pre"></span></span><br><span style="white-space:pre"><span style="white-space:pre"></span></span>2. Create a blank bitmap<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Alterbitmap=bitmap.createbitmap (srcbitmap.getwidth (), srcbitmap.getheight (), srcbitmap.getconfig ());<br><span style="white-space:pre"><span style="white-space:pre"></span></span>}<br><span style="white-space:pre"><span style="white-space:pre"></span></span><br><span style="white-space:pre"><span style="white-space:pre"></span></span>public void Click (view View) {<br><span style="white-space:pre"><span style="white-space:pre"></span></span>1. Give the blank bitmap to the artboard for drawing<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Canvas Canvas=new Canvas (alterbitmap);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>2. Setting the Brush<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Paint Paint=new Paint ();<span style="white-space:pre"><span style="white-space:pre"></span></span><br><span style="white-space:pre"><span style="white-space:pre"></span></span>Paint.setantialias (true); Anti-aliasing<br><span style="white-space:pre"><span style="white-space:pre"></span></span>3. Draw bitmaps<br><span style="white-space:pre"><span style="white-space:pre"></span></span><br><span style="white-space:pre"><span style="white-space:pre"></span></span>Matrix M=new Matrix ();<br><span style="white-space:pre"><span style="white-space:pre"></span></span>1. Set the scale of the zoom<br><span style="white-space:pre"><span style="white-space:pre"></span></span>M.setscale (1.0f, 2.0f);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>2. Specify the rotation of the center point 90 degrees<br><span style="white-space:pre"><span style="white-space:pre"></span></span>M.setrotate (90,srcbitmap.getwidth ()/2,srcbitmap.getheight ()/2);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>3. Mirror Effect<br><span style="white-space:pre"><span style="white-space:pre"></span></span>/*m.setscale ( -1.0f, 1.0f);//mirror to the left of the y-axis<br><span style="white-space:pre"><span style="white-space:pre"></span></span>M.posttranslate (srcbitmap.getwidth (), 0);//then pan right to the screen<br>*/<span style="white-space:pre"><span style="white-space:pre"> </span></span><br><span style="white-space:pre"><span style="white-space:pre"></span></span>4. Reflection Effect<br><span style="white-space:pre"><span style="white-space:pre"></span></span>/*m.setscale (1.0f, -1.0f);//line Reflection to the bottom of the picture<br><span style="white-space:pre"><span style="white-space:pre"></span></span>M.posttranslate (0, srcbitmap.getheight ());//then pan up to the original position */<br><span style="white-space:pre"><span style="white-space:pre"></span></span>5. Panning Effect<br><span style="white-space:pre"><span style="white-space:pre"></span></span>M.settranslate (100,20);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Canvas.drawbitmap (srcbitmap,m, paint);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>Iv2.setimagebitmap (alterbitmap);<br><span style="white-space:pre"><span style="white-space:pre"></span></span>}<br>}<p style="font-size:12px;"><p style="font-size:12px;">Copyright Notice: This article for Bo Master original article, without Bo Master permission not Reproduced.</p></p> <p><p>Copy of Android bitmap and panning rotation zoom effect</p></p></span>