Android画像処理例の分析


この例は、Androidピクチャ処理の方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。

package cn.szbw.util;
import Android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
public class Utils {
     /***
     *       
     * @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 ,      
    /***
     *     
     * @param g
     * :  
     * @param paint
     *:  
     * @param imgBit
     *:  
     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.    ,           
    /***
     *        
     * * @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.         ,              
    /**
     *          
     * @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();
    }
}

Android関連の内容についてもっと興味がある読者は、当駅のテーマを調べてもいいです。「Androidパターンと画像処理技術のまとめ」、「Android開発入門と上級教程」、「Androidデバッグ技術とよくある問題解決方法のまとめ」、「Androidマルチメディア操作技術まとめ(オーディオ、ビデオ、録音など)」、「Android基本コンポーネントの使い方のまとめ」、「AndroidビューViewテクニックのまとめ」、「Androidレイアウトlayout技巧まとめ」および「Androidコントロールの使い方のまとめ
ここで述べたように、皆さんのAndroidプログラムの設計に役に立ちます。