【问题标题】:Wrapping image around object in android在android中围绕对象包装图像
【发布时间】:2015-05-31 20:09:10
【问题描述】:

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

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

我想在搅拌机中创建一个 obj 对象文件并在 OpenGL 或 Unity 中渲染图像。 obj 文件大小变为 5MB。而且我不能在我的应用程序中使用这么大的文件。

是否有任何替代的好方法?如果有请分享参考或示例

【问题讨论】:

  • 你是在 Android 中还是在 Unity Engine 中制作这个?
  • @aizen 我想在 android 中做而不是统一,有可能吗?
  • 当然可以,但您必须使用第 3 方。 OpenGL 可以做到,unity3d 也可以。 opengl 的 obj 文件很大的问题是因为 obj 文件实际上没有被压缩。添加图像必须实现贴花组件,因此它与 obj 是一样的,您不必专门编写一堆代码使其看起来像附加在它上面。我目前正在使用平板电脑,所以我没有资源。
  • @Aizen 我用不同的方式解决了它

标签: android unity3d blender


【解决方案1】:

以这种方式使用

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

    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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 2014-10-09
      • 1970-01-01
      相关资源
      最近更新 更多