第二个图像是我想要围绕杯子的标签(这个图像只是一个例子,实际的应用程序适用于动态图像)。
我计划多次剪切标签图像并将其放在杯子上,因此从不同角度创建36个jpegs,我将使用360浏览器在我的网站上显示结果。< / p>
到目前为止,我设法拍摄了一个标签图像的梯形区域来创建它 (代码为here)
最后一步是创建它(使用GIMP - 使用扭曲 - >曲线弯曲)
谢谢
答案 0 :(得分:0)
我想到的是一种称为uv-mapping的技术。 请参阅https://en.wikipedia.org/wiki/UV_mapping作为起点。
另见J3D - How to use a UV mapping of an object to convert 2D coordinates to 3D ones
答案 1 :(得分:0)
我已经成功完成了一些工作。 起初,我使用ImageMagick,它需要50秒才能生成36张图像......这对我来说很长。 所以我转向Java,我已经设法使用一个像素的简单转换进行简单转换并应用Sin函数
for(int y = 0; y < bounds.height ; y++)
{
for (int x = 0; x < bounds.width ; x++) {
int pixelRGB = img.getRGB(x, y);
int newX = x;
int newY = ((int)(Math.sin(x*Math.PI/bounds.width) * 40 )) + y ;
newImg.setRGB(newX, newY, pixelRGB);
}
}