魔扣论坛

魔扣源码论坛业务
查看: 613|回复: 3

美颜特效SDK中实现像素化风格很复杂吗

[复制链接]
  • TA的每日心情
    慵懒
    2020-4-9 16:53
  • 签到天数: 89 天

    [LV.6]每天都来

    88

    主题

    4

    回帖

    492

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    899
    贡献
    359
    威望
    1
    发表于 2019-11-4 17:09:19 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    最近这段时间像素风的特效非常受欢迎,无论是在图像还是视频中都都可以带来复古的感觉,所以大部分美颜特效SDK都纷纷开始加入实现像素化风格的功能。其实像素风与马赛克的实现是比较差不多的,接下来就跟大家简单分享下相关内容。
    美颜sdk12.png
    在美颜特效SDK中加入像素风功能时,需要用到马赛克算法,什么是马赛克算法?如何实现?
    1.马赛克算法需要先确定马赛克单元的大小,即小方块的大小。
    2.马赛克图的每个马赛克单元都是纯色的块,其中取值一般都是原图中该区域的颜色均值。
    3.马赛克单元的大小决定了最后马赛克图的样子。
    加入马赛克算法给用户带来了什么呢?
    1.增强用户美颜体验
    开发者在开发美颜特效SDK时的最终目的,其实还是归于用户的美颜体验这部分。因为对于美颜特效SDK来讲,其中所包含的功能越多、越全面,所带来的美颜体验就越高。再加上像素化风格的流行迎合了现阶段用户喜好,所以在增强用户美颜体验上具备一定优势。
    美颜sdk10.png
    2.提升APP平台流量
    前面说到像素风的流行受到了大众的喜爱,所以很多开发者都在开发美颜特效SDK时添加了像素风功能。由于受到了用户喜爱,APP平台的流量自然会得到一定程度的提升,这对于运营者来说也是非常必要的,毕竟接入使用SDK就是为了引流,只有引流才会有机会实现变现。
    关于马赛克算法(像素风功能)的部分参考代码
    public classPixelateUtil {
        /
          普通图像->像素图,zoneWidth为像素图的大像素的宽度
         /
        public static Bitmap pixelate(Bitmapbitmap, int zoneWidth) {
            return pixelate(bitmap, zoneWidth, 0,0, bitmap.getWidth(), bitmap.getHeight());
        }
        /
          普通图->像素图,left、top、right、bottom可指定打马赛克区域
         /
        public static Bitmap pixelate(Bitmapbitmap, int zoneWidth, int left, int top, int right, int bottom) {
            int w = bitmap.getWidth();
            int h = bitmap.getHeight();
            Bitmap result =bitmap.copy(Bitmap.Config.ARGB_8888, true);
            Canvas canvas = new Canvas(result);
            Paint paint = new Paint();
            for (int i = left; i < right; i +=zoneWidth) {
                for (int j = top; j < bottom; j+= zoneWidth) {
                    int color = bitmap.getPixel(i,j);
                    paint.setColor(color);
                    int gridRight = Math.min(w, i + zoneWidth);
                    int gridBottom = Math.min(h, j+ zoneWidth);
                    canvas.drawRect(i, j,gridRight, gridBottom, paint);
                }
            }
            return result;
        }
    }
    美颜sdk16.png
    总的来看,无论在美颜特效SDK中添加怎样的功能,最终的核心目标都是以用户为主。如果功能无法给用户带来较好的美颜体验,那么就没有意义了。但是由于开发技术和团队不同,所实现的特效和功能都有所不同,所以建议找专业的团队进行。
    声明:以上内容均为作者本人原创,转载需注明作者及原文链接,欢迎转载分享。

    该用户从未签到

    2

    主题

    257

    回帖

    516

    积分

    高级魔扣

    Rank: 4

    魔扣币
    257
    贡献
    257
    威望
    0
    发表于 2019-11-4 17:10:10 来自手机 | 显示全部楼层
    真是被感动的痛哭流涕……无法表达我对魔扣源码论坛的感谢!

    该用户从未签到

    0

    主题

    248

    回帖

    496

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    248
    贡献
    248
    威望
    0
    发表于 2020-2-7 18:45:33 | 显示全部楼层
    我只是路过,不发表意见

    该用户从未签到

    1

    主题

    279

    回帖

    560

    积分

    高级魔扣

    Rank: 4

    魔扣币
    280
    贡献
    280
    威望
    0
    发表于 2020-3-14 17:11:21 | 显示全部楼层
    把留言撒在你的空间,愿你每天都绽放出笑脸;把祝福留在你的心间,愿你时刻感受到友情的温暖;魔扣源码论坛祝朋友周末愉快!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表