实现效果如下:

这里的处理逻辑首先是将图像进行马赛克处理,然后对于每一个需要填充的粒子按照颜色的深浅度计算粒子大小,最后按照坐标进行填充。
1、粒子类
public class Particle
{
public Point Position;//位置
public double Size;//尺寸
}
2、图像处理类
public class MosaicHelper
{
/// <summary>
/// 马赛克处理
/// </summary>
/// <param name="bitmap"></param>
/// <param name="effectWidth"> 影响范围 每一个格子数 </param>
public static List<Particle> AdjustTobMosaic(System.Drawing.Bitmap bitmap, int effectWidth)
{
List<Particle> particleList = new List<Particle>();
for (int heightOfffset = 0; heightOfffset < bitmap.Height; heightOfffset += effectWidth)
{
for (int widthOffset = 0; widthOffset < bitmap.Width; widthOffset += effectWidth)
{
int avgR = 0, avgG = 0, avgB = 0;
int blurPixelCount = 0;
for (int x = widthOffset; (x < widthOffset + effectWidth && x < bitmap.Width); x++)
{
for (int y = heightOfffset; (y < heightOfffset + effectWidt

这篇博客介绍如何在WPF中将图像转化为粒子效果。首先,图像经过马赛克处理,接着根据颜色深浅确定粒子大小,然后在指定坐标填充粒子,最终形成独特的视觉效果。文章涵盖粒子类、图像处理类及主窗体的交互逻辑。
最低0.47元/天 解锁文章
1097

被折叠的 条评论
为什么被折叠?



