我们的想法是创建一个模块,在模块上切割字符,然后我们可以将所有部分放到他们的位置。
例如,我在画布上有1536 x 1536像素的字符,所以我可以简单地将其缩小到所有设备。
如果您使用photoshop,这里有一个选择工具,可以根据需要为我剪切我的角色。
我选择这种方式。使用选择工具我创建了一些区域,这些区域将代表原始图像的各个部分。
所以原始图像看起来像这样(感谢Matt Groening):
切片的图像看起来像这样(感谢Photoshop):
因为你可以看到颜色重复了我所做的选择,我的问题是如何切片原始图像并提取所有碎片的检测中心坐标。因为我需要把这些碎片放回我的侧栏,因为它是一个益智游戏=)
我编写了一种算法,可以检测像素的颜色并开始计算该块的边框。因此,例如当我循环所有像素并检测一个像素时,我重写所选颜色的min x,max x,min y和max y位置。例如,您在此处看到的图像是4种颜色,我尝试在图层上找到该颜色的中心。但这是一个很大的性能问题。例如,如果我们使用1536 x 1536 px循环图像。
这里的第二个问题是重新取样。在我们找到最大图像(1536 x 1536)中的坐标后,我尝试缩小图像以适应iPhone 4尺寸并缩小所有部件的所有中心。
这是一个重新采样问题,如下图所示,您可以在颜色的交汇处看到额外的透明像素:
因为我瘦了一下线性的双向下尺寸。也许我在思考它并且想法如何切片图像更简单。