在android中包围对象周围的图像

时间:2015-03-27 13:19:51

标签: android unity3d blender

我正在为这样的杯子创建一个Android应用程序

enter image description here

除了在对象周围包裹图像外,我知道如何做所有事情。如果我只需要将图像堆叠在另一个上面,如果它们是平的,那么这将是一个简单的任务,但如果它是一个圆形物体,就像这个杯子一样,它有点棘手。

我想过在blender中创建一个obj对象文件,并在OpenGL或Unity中渲染它上面的图像。 obj文件大小为5MB。我不能在我的应用程序中使用这么大的文件。

有没有其他好方法呢?如果有,请分享参考或示例

2 个答案:

答案 0 :(得分:2)

以这种方式使用

通过对图像进行遮罩来解决它的问题

    ImageView mImageView= (ImageView)findViewById(R.id.imageview_id); 
Bitmap original = BitmapFactory.decodeResource(getResources(),R.drawable.content_image);
 Bitmap mask = BitmapFactory.decodeResource(getResources(),R.drawable.mask);
 Bitmap result = Bitmap.createBitmap(mask.getWidth(), mask.getHeight(), Config.ARGB_8888); 
Canvas mCanvas = new Canvas(result); 
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
 paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
 mCanvas.drawBitmap(original, 0, 0, null);
 mCanvas.drawBitmap(mask, 0, 0, paint); paint.setXfermode(null);
 mImageView.setImageBitmap(result);
 mImageView.setScaleType(ScaleType.CENTER);
 mImageView.setBackgroundResource(R.drawable.background_frame);

如此处Masking(crop) image in frame

所述

答案 1 :(得分:0)

我认为这是正确的方法,但使用纯OpenGL很困难。我使用LibGDX进行简单的3D建模。