last post copy bitmap using getpixels() and setpixels() show how to copy a whole bitmap using getpixels() and setpixels(). it can be used to copy part of a bitmap.




Mã nguồn PHP:
[color=#000000]
package com[/color][color=#007700].[/color][color=#0000bb]androidcopybitmap[/color][color=#007700]; [/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]app[/color][color=#007700].[/color][color=#0000bb]activity[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]graphics[/color][color=#007700].[/color][color=#0000bb]bitmap[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]graphics[/color][color=#007700].[/color][color=#0000bb]bitmapfactory[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]graphics[/color][color=#007700].[/color][color=#0000bb]matrix[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]os[/color][color=#007700].[/color][color=#0000bb]bundle[/color][color=#007700];[/color][color=#0000bb]import android[/color][color=#007700].[/color][color=#0000bb]widget[/color][color=#007700].[/color][color=#0000bb]imageview[/color][color=#007700]; public class [/color][color=#0000bb]androidcopybitmapactivity [/color][color=#007700]extends [/color][color=#0000bb]activity [/color][color=#007700]{ [/color][color=#ff8000]/** called when the activity is first created. */ [/color][color=#007700]@[/color][color=#0000bb]override [/color][color=#007700]public [/color][color=#0000bb]void oncreate[/color][color=#007700]([/color][color=#0000bb]bundle savedinstancestate[/color][color=#007700]) { [/color][color=#0000bb]super[/color][color=#007700].[/color][color=#0000bb]oncreate[/color][color=#007700]([/color][color=#0000bb]savedinstancestate[/color][color=#007700]); [/color][color=#0000bb]setcontentview[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]layout[/color][color=#007700].[/color][color=#0000bb]main[/color][color=#007700]); [/color][color=#0000bb]imageview image1 [/color][color=#007700]= ([/color][color=#0000bb]imageview[/color][color=#007700])[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]image1[/color][color=#007700]); [/color][color=#0000bb]imageview image2 [/color][color=#007700]= ([/color][color=#0000bb]imageview[/color][color=#007700])[/color][color=#0000bb]findviewbyid[/color][color=#007700]([/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]id[/color][color=#007700].[/color][color=#0000bb]image2[/color][color=#007700]); [/color][color=#0000bb]bitmap oldbitmap [/color][color=#007700]= [/color][color=#0000bb]bitmapfactory[/color][color=#007700].[/color][color=#0000bb]decoderesource[/color][color=#007700]([/color][color=#0000bb]getresources[/color][color=#007700](), [/color][color=#0000bb]r[/color][color=#007700].[/color][color=#0000bb]drawable[/color][color=#007700].[/color][color=#0000bb]ic_launcher[/color][color=#007700]); [/color][color=#0000bb]int orgwidth [/color][color=#007700]= [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getwidth[/color][color=#007700](); [/color][color=#0000bb]int orgheight [/color][color=#007700]= [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getheight[/color][color=#007700](); [/color][color=#0000bb]int firstx[/color][color=#007700], [/color][color=#0000bb]firsty[/color][color=#007700]; [/color][color=#0000bb]int halfwidth [/color][color=#007700]= [/color][color=#0000bb]orgwidth[/color][color=#007700]/[/color][color=#0000bb]2[/color][color=#007700]; [/color][color=#0000bb]int halfheight [/color][color=#007700]= [/color][color=#0000bb]orgheight[/color][color=#007700]/[/color][color=#0000bb]2[/color][color=#007700]; [/color][color=#ff8000]//create a same size bitmap [/color][color=#0000bb]bitmap newbitmap [/color][color=#007700]= [/color][color=#0000bb]bitmap[/color][color=#007700].[/color][color=#0000bb]createbitmap[/color][color=#007700]([/color][color=#0000bb]orgwidth[/color][color=#007700], [/color][color=#0000bb]orgheight[/color][color=#007700], [/color][color=#0000bb]bitmap[/color][color=#007700].[/color][color=#0000bb]config[/color][color=#007700].[/color][color=#0000bb]argb_8888[/color][color=#007700]); [/color][color=#ff8000]//create a pixel of 1/4 size, to copy part of the bitmap [/color][color=#0000bb]int[/color][color=#007700][] [/color][color=#0000bb]pixels [/color][color=#007700]= new [/color][color=#0000bb]int[/color][color=#007700][[/color][color=#0000bb]halfwidth [/color][color=#007700]* [/color][color=#0000bb]halfheight[/color][color=#007700]]; [/color][color=#ff8000]//copy upper-left part to bottom-right [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#0000bb]newbitmap[/color][color=#007700].[/color][color=#0000bb]setpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#ff8000]//copy bottom-right to upper-left part [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#0000bb]newbitmap[/color][color=#007700].[/color][color=#0000bb]setpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#ff8000]//copy bottom-left part to upper-right [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#0000bb]newbitmap[/color][color=#007700].[/color][color=#0000bb]setpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#ff8000]//copy upper-right to bottom-left part [/color][color=#0000bb]oldbitmap[/color][color=#007700].[/color][color=#0000bb]getpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#0000bb]newbitmap[/color][color=#007700].[/color][color=#0000bb]setpixels[/color][color=#007700]([/color][color=#0000bb]pixels[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]0[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700], [/color][color=#0000bb]halfwidth[/color][color=#007700], [/color][color=#0000bb]halfheight[/color][color=#007700]); [/color][color=#0000bb]image1[/color][color=#007700].[/color][color=#0000bb]setimagebitmap[/color][color=#007700]([/color][color=#0000bb]oldbitmap[/color][color=#007700]); [/color][color=#0000bb]image2[/color][color=#007700].[/color][color=#0000bb]setimagebitmap[/color][color=#007700]([/color][color=#0000bb]newbitmap[/color][color=#007700]); }}[/color]