1、擷取 bitmap 的部分區域
mbitmap = bitmap.createbitmap(bmp, 100, 100, 120, 120);這句**從 bmp 的 (100,100) 處擷取 120*120 畫素區域放到新的 bitmap 中。
2、縮放乙個 bitmap
可以用 bitmap.createscaledbitmap() 方 法根據給定的 bitmap 建立 乙個新的,縮放後的 bitmap 。
bitmap mbitmap = bitmap.createscaledbitmap(bmp, mscreenwidth, mscreenheight, true);其中 mscreenwidth 和 mscreenheight 是螢幕的寬度和高度,這裡就將 bmp 拉伸到整個螢幕。
每次 createbitmap ,都會分配新的記憶體,帶來資源的 消耗,所以用 bitmap 的 createbitmap 雖然簡單方便,但是不是最優方 法。介紹乙個比較好點的方法,不用建立新的 bitmap ,用 canvas 在畫的時候直接縮放或者剪下。
canvas.drawbitmap(mbitmap, null, new rect(0, 0, 200, 200), null);這裡的 rect 物件表示乙個矩形區域,從 (0,0) 到 (200,200) 之間的矩形區域。這段**將把 mbitmap 縮放並繪製到螢幕上的(0,0) 到 (200,200) 之間的區域。這個方法還有第二個引數我給的是 null ,其實這個引數也是個 rect 物件,表示源 rect 。把的某個區域拿出來畫到螢幕的指定區域,
canvas.drawbitmap(mbitmap, new rect(100, 100, 300, 300), new rect(100, 100, 200, 200), null);這裡將 mbitmap 的 (100,100) 到 (300,300) 區域拿出來,自動縮放並畫到螢幕的 (100,100) 到 (200,200) 區域。
3、平均分割方法,將大圖平均分割為n行n列,方便使用者使用
/***
* 分割
* * @param g
* :畫布
* @param paint
* :畫筆
* @param imgbit
* :* @param x
* :x軸起點座標
* @param y
* :y軸起點座標
* @param w
* :單一的寬度
* @param h
* :單一的高度
* @param line
* :第幾列
* @param row
* :第幾行
*/public final void cuteimage(canvas g, paint paint, bitmap imgbit, int x,
int y, int w, int h, int line, int row)
4、縮放,對當前進行縮放處理
/***
* 的縮放方法
** @param bgimage
* :源資源
* @param newwidth
* :縮放後寬度
* @param newheight
* :縮放後高度
* @return
*/public bitmap zoomimage(bitmap bgimage, int newwidth, int newheight)
5、繪製帶有邊框的文字,一般在遊戲中起文字的美化作用
/***
* 繪製帶有邊框的文字
* * @param strmsg
* :繪製內容
* @param g
* :畫布
* @param paint
* :畫筆
* @param setx
* ::x軸起始座標
* @param sety
* :y軸的起始座標
* @param fg
* :前景色
* @param bg
* :背景色
*/public void drawtext(string strmsg, canvas g, paint paint, int setx,
int sety, int fg, int bg)
6、android 透明度處理**
/**
* 透明度處理
* * @param sourceimg
* 原始
* @param number
* 透明度
* @return
*/ public static bitmap setalpha(bitmap sourceimg, int number)
sourceimg = bitmap.createbitmap(argb, sourceimg.getwidth(), sourceimg.getheight(), config.argb_8888);
return sourceimg; }
7、翻轉
resources res = this.getcontext().getresources();
img = bitmapfactory.decoderesource(res, r.drawable.slogo);
matrix matrix = new matrix();
matrix.postrotate(90); /*翻轉90度*/
int width = img.getwidth();
int height = img.getheight();
r_img = bitmap.createbitmap(img, 0, 0, width, height, matrix, true);
出處:
Bitmap的一些操作
param param bitmap 物件 param w 要縮放的寬度 param h 要縮放的高度 return newbmp 新 bitmap物件 public static bitmap zoombitmap bitmap bitmap,int w,int h 以第乙個圖為準 優化演算法 1...
Android的Bitmap的一些知識點
1,decoderesource 與decodefile 的區別 尺寸的處理方法 decodefile 用於讀取sd卡的上面的,得到的是原始的尺寸。decoderesource 用於讀取res,raw等資源,得到的是的原始尺寸x縮放係數。而縮放係數的計算依賴於螢幕的密度。手動設定縮放係數 bitma...
ubuntu的一些操作
1.ubuntu,windows啟動順序修改 圖形化方法 sudo apt get install startupmanager,然後終端startupmanager,圖形化修改啟動順序,其它 2.ubuntu遠端桌面 window xp訪問ubuntu 需在ubuntu設定允許遠端訪問,可以加密訪...