Android 如何在保存的位图上放置另一个图像?

Android 如何在保存的位图上放置另一个图像?,android,image,canvas,bitmap,save,Android,Image,Canvas,Bitmap,Save,是否可以将图像另存为新背景,以便在添加新图像时与先前添加的图像合并?请再次帮助我,谢谢:) 这是代码。在flatimage按钮上,它展平了组合的背景、标签和图像,并将其放在ImageView上,一旦放在ImageView上,我希望它成为背景图像,我可以添加更多标签,并将其再次展平为1位图像。请帮帮我谢谢 protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub s

是否可以将图像另存为新背景,以便在添加新图像时与先前添加的图像合并?请再次帮助我,谢谢:)

这是代码。在flatimage按钮上,它展平了组合的背景、标签和图像,并将其放在ImageView上,一旦放在ImageView上,我希望它成为背景图像,我可以添加更多标签,并将其再次展平为1位图像。请帮帮我谢谢

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.createpage1);
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss",
            Locale.getDefault()).format(new Date());
    mTempDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "/" + "PixiePhotos" + "/";
    //mCurrent = "PXD_" + timeStamp + ".jpg";
    prepareDirectory();

    save = (Button)findViewById(R.id.save);
    flatimage = (Button)findViewById(R.id.flatimage);
    chooseimage = (Button)findViewById(R.id.chooseImage);
    compositeImageView = (ImageView)findViewById(R.id.compositeImageView);
    tapimageview = (ImageView) findViewById(R.id.tapimageview);
       // imageView5 = (ImageView)findViewById(R.id.imageView5);
        imageView4 = (ImageView) findViewById(R.id.imageView4);
        imageView4.setOnTouchListener(this);
        tapimageview.setImageURI(Uri.parse("android.resource://" 
                 + getPackageName() +"/"+R.drawable.cork));   


      compositeImageView.setOnTouchListener(this);
      chooseimage.setOnClickListener(this);
      imageView4.setImageBitmap(drawingBitmap);

      //tapimageview.setDrawingCacheEnabled(true);
      //bgimage = tapimageview.getDrawingCache();
      viewBitmap = Bitmap.createBitmap(500, 500, Bitmap.Config.ARGB_8888);
      canvas = new Canvas(viewBitmap);
        tapimageview.draw(canvas);

     // tapimageview.draw(canvas);
      //canvas.drawBitmap(bmp, 90, 0, paint);

      flatimage.setOnClickListener(new View.OnClickListener() {
            @SuppressWarnings("deprecation")
            public void onClick(View v) {
              Log.v(TAG, "Save Tab Clicked");
              //i is imageview whch u want to convert in bitmap

              canvas.drawBitmap(bmp, 0, 0, paint);
                canvas.drawBitmap(drawingBitmap, matrix, paint);
                canvas.drawBitmap(bmpstickers, matrix, paint);


                mBitmapDrawable = new BitmapDrawable(viewBitmap);
                tapimageview.setImageBitmap(mBitmapDrawable.getBitmap());
                mCurrent = "PXD_" + new SimpleDateFormat("yyyyMMdd_HHmmss",
                        Locale.getDefault()).format(new Date()) + ".jpg";


            }



          });




      save.setOnClickListener(new View.OnClickListener() {
            @SuppressWarnings("deprecation")
            public void onClick(View v) {
              Log.v(TAG, "Save Tab Clicked");
              viewBitmap = Bitmap.createBitmap(500, 500, Bitmap.Config.ARGB_8888);//i is imageview whch u want to convert in bitmap
                canvas = new Canvas(viewBitmap);
                tapimageview.draw(canvas);
                canvas.drawBitmap(bmp, 0, 0, paint);
                canvas.drawBitmap(drawingBitmap, matrix, paint);
                canvas.drawBitmap(bmpstickers, matrix, paint);
                tapimageview.setImageBitmap(mBitmapDrawable.getBitmap());  
              try {
                mBitmapDrawable = new BitmapDrawable(viewBitmap);

                mCurrent = "PXD_" + new SimpleDateFormat("yyyyMMdd_HHmmss",
                        Locale.getDefault()).format(new Date()) + ".jpg";

                mNewSaving = ((BitmapDrawable) mBitmapDrawable).getBitmap();
                String FtoSave = mTempDir + mCurrent;
                File mFile = new File(FtoSave);
                mFileOutputStream = new FileOutputStream(mFile);
                mNewSaving.compress(CompressFormat.JPEG, 100, mFileOutputStream);
                mFileOutputStream.flush();
                mFileOutputStream.close();
              } catch (FileNotFoundException e) {
                Log.v(TAG, "FileNotFoundExceptionError " + e.toString());
              } catch (IOException e) {
                Log.v(TAG, "IOExceptionError " + e.toString());
              }

            }
          });
    }

因此,如果我理解正确,在您单击
flatImage
之后,您想将背景更改为一个位图,该位图是一组其他位图合并为一个位图?是的,这就是我想要的。你能看看我的密码吗?我做的对吗?谢谢:)@donfuxxx因为这个应用程序做的是,我先放一个背景、贴纸和一个图像,然后单击平面图像,我想现在将平面图像作为背景,并且能够再次添加贴纸,一旦我再次单击平面图像按钮,事情是它覆盖了我创建的第一个。。嗯,你明白我的意思吗,先生?呵呵,我真的不知道该怎么办。。