zoukankan      html  css  js  c++  java
  • android 图片合成

    
    
    package com.ebensz.eink.demo;
    
    import java.io.File;
    import java.io.FileOutputStream;
    
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.Bitmap.CompressFormat;
    import android.graphics.Canvas;
    import android.graphics.Matrix;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.MeasureSpec;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class Exchange extends Activity implements OnClickListener {
        private Bitmap bitmap1;
        private Button mExportBtn;
        private static final String BITMAP_He = "/sdcard/bitmap_add.png";
    
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.scrollview);
    
            mExportBtn = (Button) this.findViewById(R.id.export_he);
            mExportBtn.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            switch (v.getId()) {
            case R.id.export_he:
                exportAll();
                break;
            default:
                break;
            }
        }
    
        /**
         * 将布局转换为View类型对象
         * @param filename
         */
        private void exportAll( ) {
            View view = getLayoutInflater().inflate(R.layout.scrollview, null);
            view.setDrawingCacheEnabled(true);
            view.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
                    MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
            view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
            try {
                bitmap1 = view.getDrawingCache();
                heCheng(BITMAP_He);
            } catch (Exception e) {
    
            }
        }
    
        /**
         * bitmap1 考评结果图片
         * bitmap2 签字图片
         * bitmap3 带签字的考评结果
         * @param filename 生成带签字考评结果的文件路径和文件名
         */
        private void heCheng(String filename) {
    
            Bitmap bitmap2 = MainActivity.mbitmap;
            Bitmap bitmap3 = Bitmap.createBitmap(bitmap1.getWidth(),
                    bitmap1.getHeight(), bitmap1.getConfig());
            Canvas canvas = new Canvas(bitmap3);
            canvas.drawBitmap(bitmap1, new Matrix(), null);
            canvas.drawBitmap(bitmap2, 20, 1000, null); // 120、350为bitmap2写入点的x、y坐标
            try {
                FileOutputStream out = new FileOutputStream(filename);
                bitmap3.compress(Bitmap.CompressFormat.PNG, 90, out);
                out.close();
            } catch (Exception e) {
    
            }
        }
    
    }
  • 相关阅读:
    list浅析
    C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏(catch不起作用)
    浅析C#线程同步事件-WaitHandle
    C#操作xml方法1
    C#简单的操作csv文件
    C#的int类型?,??,~的意思,string类型空值赋值
    将多个exc表格汇总于一个表格中
    C#禁止双击标题栏等操作
    c#泛型
    c#session
  • 原文地址:https://www.cnblogs.com/qinaidexin/p/4560797.html
Copyright © 2011-2022 走看看