1.圖片載入方法,方便使用者載入圖片
Java代碼
- /***
- * 載入本地圖片
- *
- * @param context
- * :主運行函數執行個體
- * @param bitAdress
- * :圖片地址,一般指向R下的drawable目錄
- * @return
- */
- public final Bitmap CreatImage(Context context, int bitAdress) {
- Bitmap bitmaptemp = null;
- bitmaptemp = BitmapFactory.decodeResource(context.getResources(),
- bitAdress);
- return bitmaptemp;
- }
2.圖片平均分割方法,將大圖平均分割為N行N列,方便使用者使用
Java代碼
- /***
- * 圖片分割
- *
- * @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) {
- g.clipRect(x, y, x + w, h + y);
- g.drawBitmap(imgBit, x - line * w, y - row * h, paint);
- g.restore();
- }
3.圖片縮放,對當前圖片進行縮放處理
Java代碼
- /***
- * 圖片的縮放方法
- *
- * @param bgimage
- * :源圖片資源
- * @param newWidth
- * :縮放後寬度
- * @param newHeight
- * :縮放後高度
- * @return
- */
- public Bitmap zoomImage(Bitmap bgimage, int newWidth, int newHeight) {
- // 擷取這個圖片的寬和高
- int width = bgimage.getWidth();
- int height = bgimage.getHeight();
- // 建立操作圖片用的matrix對象
- Matrix matrix = new Matrix();
- // 計算縮放率,新尺寸除原始大小
- float scaleWidth = ((float) newWidth) / width;
- float scaleHeight = ((float) newHeight) / height;
- // 縮放圖片動作
- matrix.postScale(scaleWidth, scaleHeight);
- Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, width, height,
- matrix, true);
- return bitmap;
- }
4.繪製帶有邊框的文字,一般在遊戲中起文字的美化作用
Java代碼
- /***
- * 繪製帶有邊框的文字
- *
- * @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) {
- paint.setColor(bg);
- g.drawText(strMsg, setx + 1, sety, paint);
- g.drawText(strMsg, setx, sety - 1, paint);
- g.drawText(strMsg, setx, sety + 1, paint);
- g.drawText(strMsg, setx - 1, sety, paint);
- paint.setColor(fg);
- g.drawText(strMsg, setx, sety, paint);
- g.restore();
- }
5.圖片分割的最簡便方式
Java代碼
- public final Bitmap cuteImage(Bitmap _imgBit, int _startX, int width,
- int _startY, int height) {
- Bitmap tempMap = null;
- tempMap = Bitmap.createBitmap(_imgBit, _startX, _startY, width, height);
- return tempMap;
- }
6.字串分行顯示
Java代碼
- public String[] StringFormat(String text, int maxWidth, int fontSize) {
- String[] result = null;
- Vector<String> tempR = new Vector<String>();
- int lines = 0;
- int len = text.length();
- int index0 = 0;
- int index1 = 0;
- boolean wrap;
- while (true) {
- int widthes = 0;
- wrap = false;
- for (index0 = index1; index1 < len; index1++) {
- if (text.charAt(index1) == '\n') {
- index1++;
- wrap = true;
- break;
- }
- widthes = fontSize + widthes;
- if (widthes > maxWidth) {
- break;
- }
- }
- lines++;
- if (wrap) {
- tempR.addElement(text.substring(index0, index1 - 1));
- } else {
- tempR.addElement(text.substring(index0, index1));
- }
- if (index1 >= len) {
- break;
- }
- }
- result = new String[lines];
- tempR.copyInto(result);
- return result;
- }