zoukankan      html  css  js  c++  java
  • Android学习笔记绘制图片

    Android绘制位图的两个类

    BitmapFactory创建位图的方法

    案例代码

    先用Device File Explorer在模拟器的sdcard目录中放入图片tx3.png

    MyView.java

    import android.content.Context;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Paint;
    import android.os.Environment;
    import android.view.View;
    
    public class MyView extends View {
    
    
        public MyView(Context context) {
            super(context);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint = new Paint();//定义画笔
            String path = Environment.getExternalStorageDirectory()+"/tx3.png";//读取文件路径
            Bitmap bitmap = BitmapFactory.decodeFile(path);//创建位图
            //绘制位图
            canvas.drawBitmap(bitmap,0,0,paint);
    
            //挖出一小块区域
            Bitmap bitmap1 = Bitmap.createBitmap(bitmap,163,
                    189,150,168);
            canvas.drawBitmap(bitmap1,270,550,paint);
        }
    }
    

    MainActivty.java

    import androidx.appcompat.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.FrameLayout;
    
    public class MainActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //获取帧布局管理器
            FrameLayout frameLayout = findViewById(R.id.frameLayout);
            frameLayout.addView(new MyView(this));//将自定义View添加到布局管理器中
        }   
    }
    

    manifests中开放权限

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    

    在模拟器中开放应用权限

    效果图

  • 相关阅读:
    weekly review 200812: Tire
    monthly report 200802: between the festival and the happiness
    weekly review 200813: Ill
    Android中的SharedPreferences
    如何使用Github上的开源项目
    Android四大组件
    开发者需知的10类工具
    activity中onResume()的用处
    Redhat 5.4 + ASM + RAW+ Oracle 10g RAC 安装文档
    Oracle 索引扫描的五种类型
  • 原文地址:https://www.cnblogs.com/lzpq/p/13160329.html
Copyright © 2011-2022 走看看