如何把图片扭曲变形填充到一个不规则的透明区域

一个中间挖空的PNG图片模板,中间有一个不规则的透明区域,这个透明区域不是正方形、长方形或圆形,它是不规则的,要把一个素材图片经过扭曲、拉伸、变形、倾斜等各种变化然后填充进去合成一个图片,这种图形处理的应用是一个DIY定制产品的产品合成图,比如手机壳、帽子、马克杯等DIY定制产品的效果展示图。

本篇采用C#.NET技术,实现把图片扭曲变形填充到一个不规则的透明区域。

PNG模板图片,中央白色区域是PNG的透明区

如何把图片扭曲变形填充到一个不规则的透明区域 - 1

素材图案图片,一般就是JPG或PNG等图片格式

如何把图片扭曲变形填充到一个不规则的透明区域 - 2

那么如何实现把图片扭曲变形填充到一个不规则的透明区域呢?

1、我们先取得模板图片的四个顶点,左上、左下、右上和右下的XY坐标,用辅助先连起来可以明显看出来这个区域是不规则的

如何把图片扭曲变形填充到一个不规则的透明区域 - 3

2、建立一个和模板图一样大小的空白图片,把素材图叠加进去,靠左上角对齐(X=0,Y=0),为了展示效果把背景色刷成浅绿色;

如何把图片扭曲变形填充到一个不规则的透明区域 - 4

3、在这个图片范围内把靠左上角对齐的素材图,扭曲变形成一个第1点中模板中标出来的这样一个不规则区域图形;

如何把图片扭曲变形填充到一个不规则的透明区域 - 5

4、利用模板不规则区域的透明属性,把模板覆盖合成到第3步生成的图片上合成最终效果图;

如何把图片扭曲变形填充到一个不规则的透明区域 - 6

把图片扭曲变形填充到一个不规则的透明区域就这样搞定了,这里面最核心的是第3点中一个规则图形扭曲变形成一个指定四个顶点的不规则图形,另外就是利用PNG透明属性的图层覆盖的思路。

 

发表评论

您的电子邮箱地址不会被公开。