HDRimg,30秒一键生成亮瞎眼的HDR表情包。 * { margin: 0; padding: 0; outline: 0; } body { font-family: “PingFang SC”, system-ui, -apple-system, BlinkMacSystemFont, “Helvetica Neue”, “Hiragino Sans GB”, “Microsoft YaHei UI”, “Microsoft YaHei”, Arial, sans-serif; line-height: 1.6; } .__page_content__ { max-width: 667px; margin: 0 auto; padding: 20px; text-size-adjust: 100%; color: rgba(0, 0, 0, 0.9); padding-bottom: 64px; } .title { user-select: text; font-size: 22px; line-height: 1.4; margin-bottom: 14px; font-weight: 500; } .__meta__ { color: rgba(0, 0, 0, 0.3); font-size: 15px; line-height: 20px; hyphens: auto; word-break: break-word; margin-bottom: 50px; } .__meta__ .nick_name { color: 576B95; } .__meta__ .copyright { color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.05); padding: 0 4px; margin: 0 10px 10px 0; } blockquote.source { padding: 10px; margin: 30px 0; border-left: 5px solid ccc; color: #333; font-style: italic; word-wrap: break-word; } blockquote.source a { cursor: pointer; text-decoration: underline; } .item_show_type_0 > section { margin-top: 0; margin-bottom: 24px; } a { color: 576B95; text-decoration: none; cursor: default; } .text_content { margin-bottom: 50px; user-select: text; font-size: 17px; white-space: pre-wrap; word-wrap: break-word; line-height: 28px; hyphens: auto; } .picture_content .picture_item { margin-bottom: 30px; } .picture_content .picture_item .picture_item_label { text-align: center; } img { max-width: 100%; } .pay_subscribe_notice { margin: 30px 0; padding: 20px; background: fffbe6; border: 1px solid ffe58f; border-radius: 8px; } .pay_subscribe_badge { display: inline-block; padding: 4px 12px; background: faad14; color: fff; border-radius: 4px; font-size: 14px; font-weight: 500; margin-bottom: 12px; } .pay_subscribe_desc { font-size: 15px; line-height: 1.8; color: rgba(0, 0, 0, 0.7); margin-bottom: 12px; } .pay_subscribe_hint { font-size: 13px; color: rgba(0, 0, 0, 0.4); } .__bottom-bar__ { display: flex; justify-content: space-between; align-items: center; position: fixed; bottom: 0; left: 0; right: 0; height: 64px; padding: 8px 20px; background: white; box-sizing: border-box; border-top: 1px solid rgba(0, 0, 0, 0.2); } .__bottom-bar__ .left { display: flex; align-items: center; font-size: 15px; white-space: nowrap; } .__bottom-bar__ .right { display: flex; } .__bottom-bar__ .sns_opr_btn { display: flex; align-items: center; user-select: none; background: transparent; border: 0; color: rgba(0, 0, 0, 0.9); font-size: 14px; } .__bottom-bar__ .sns_opr_btn:not(:last-child) { margin-right: 16px; } .__bottom-bar__ .sns_opr_btn > img { margin-right: 4px; }
HDRimg,30秒一键生成亮瞎眼的HDR表情包。
原创 数字生命卡兹克 数字生命卡兹克 2025-05-19 09:03 北京
这篇文章,写的我眼睛疼,真的。。。
上周末,一个离谱的表情包,在我的微信群里刷屏了。
我相信你们肯定见过了。
真的,这表情包只要一在群里出现,就绝对成了所有iPhone和Mac用户眼中,最亮眼的存在,这个亮眼,真的是物理级别的亮眼。
不过安卓用户其实看不太到这样的亮瞎眼效果,这个背后的原因,其实是HDR和微信的兼容问题。
差评X.PIN上周五的科普文章写的已经非常详细了,推荐去可以去看看:iPhone用户被表情包闪瞎,这事得赖微信。。
我大概用非常简短的话解释总结一下:
我们现在用的很多图片和视频,其实默认都是SDR格式。它有点像老电视,不管你拍得多好,它都只能给你显示一个平均水平的画面。
亮的地方不会太亮,暗的地方也不会太暗,一切都被压成了差不多的亮度,细节也被吃掉了。
HDR就不一样,HDR是新一代的显示标准。它能让亮的地方真的亮起来,比如阳光、灯光、高光反光,在屏幕上真的就像现实一样在发光的那种亮。而暗的地方也不会糊成一团黑,而是能看到阴影里的细节,比如一张脸上的毛孔、一个角落里的褶皱。
而这次这个青蛙表情包,之所以能发光,其实全靠微信程序员一个小小的疏忽。
设备能不能显示HDR,看它有没有高亮度、广色域、10bit色深的屏幕。
图片能不能触发HDR效果,关键看它有没有告诉设备“我是HDR”。
那告诉的这部分,就靠ICC颜色配置文件。
微信在处理大部分图片时,会自动把颜色配置文件(ICC)剥掉,这就使得咱们平时通过微信发送的图片,丢失了很多关键信息。
但表情包,它忘了动刀。。。
结果就是,在表情包上,HDR的ICC配置文件被原封不动保留下来,iPhone一看:哦,这是HDR图啊?那我得给你上上强度,HDR亮度整上。
于是,在支持HDR的苹果设备上,这张小小的表情包,就成了整个聊天框里,最炫目的一束光,对,物理意义上的一束光。
不过,HDR表情包,这事其实不过国内第一个发现的,一个月前,在国外的通讯工具Slack上,就爆了把大的。
最下面的那个青蛙,是不是很熟悉?对,这就是这波的主角。
而且甚至他们不仅搞了表情包,甚至还有老哥,把头像也换成了HDR图片,这真的太艹了。。。
我也顺藤摸瓜,找到了一篇国外老哥写的,怎么做HDR表情的博客。
而且,还在帖子里,直接附上了自己的脚本。
不过这个脚本门槛还是稍微有一点点高,也有点奇怪,但整体思路是一致的,本来我就想,自己搓一个程序,能批量把各种表情包变成HDR的。那现在一切就绪,说干就干。
把一张普通图转成闪光的HDR图片,其实不难。
核心是给图片调整部分数值,再植入一个带HDR的ICC文件。
最关键的其实是这个ICC文件,你当然可以,直接去网上搜一个ICC文件植入进去,比如这个萤光青蛙的ICC配置文件,就是Rec.ITU-R BT.2100P。
但是我是个懒逼,既然你萤光娃里都有了,我还下个啥,直接把你荧光娃当母体就行= =。
于是我直接让4o,先写了一段非常简单的程序测试一下。
Prompt是这样的:
在本地运行测试,方法很简单, 打开IDE产品,Cursor或者Trae,随便找个文件夹,新建文本文件,粘贴刚刚写的代码,双击运行就可以。
当然你完全可以直接用Cursor或者Trae直接写,我是最近太喜欢用4o了,干啥都是本能反应打开4o直接开干了。。。
跑了一下,发现一把成功。
代码里的图片文件要根据情况修改,比如我这里是黄色小胸.jpeg。运行一下代码,成功处理图片,肉眼可见右边亮了很多。
不过我其实,还是想把这玩意,给大家也一起用的,所以,需要一个网站,能让大家有手就行就能直接转换。
于是,我就打开了Cursor,发了一段Prompt和刚才4o写的代码:
写一个Python程序,功能是把表情包图片转换为HDR格式,从参考图像”fluorescent_frog.png”中提取ICC配置文件,并添加到表情包图片里,最后保存为带”hdr”后缀的PNG文件,以网页形式提供服务,使用tailwindcss,模仿卡片的设计。【再加上刚才4o生成的Python代码】
很快,一个版本就出来,不过各种UI细节还有点奇怪,我就跟他又对话调了调细节之类的。
甚至,为了它更好看点,我还去用即梦画了个logo。。。
名字是瞎取的,HDRimg,就非常的直白且庸俗。
于是,这么一个把普通图片转HDR图片的小工具,就搓出来了。
感觉确实能当一个小小的产品,于是,我又部署到了线上,花了85块钱,买了个域名。。。
网址在此:hdrimg.com,免费给大家玩。
支持JPG、PNG格式,最多支持20张图,只需要把图片全部上传上去,你就能批量处理成HDR图片文件。
图片传上去以后,只需要等待几秒钟。
一群闪瞎狗眼的表情包,就出来了,不过,这里跟手机是一样的,你得是Mac才能看到荧光效果,Windows电脑也能转换,但是大概率在电脑屏幕上显示是有问题的。
而且说实话,大半夜的看这玩意,还真挺吓人的。。。
我们有了图片之后,正常下载,然后把图片,想办法弄到手机里。
Mac和iPhone可以直接隔空投送,或者也可以把图片变成压缩包通过微信传到手机上,网盘也行,U盘也行,就是别直接通过微信发图片,因为ICC会被干掉。
同时,原图尽量小一些,最好不要超过400x400的尺寸。
到了手机以后,你就可以,直接在微信里,添加表情包。
给你们看下效果。
就。。。真的很萤光。。。
最后再说一句,安卓和Windows大概率看不到萤光的效果,只有iPhone和mac才可以,至于为啥安卓不行,请看差评X.PIN的原文解释:
苹果的大一统,还是有大一统的好,安卓阵营,还是太分裂了。
这个HDR图片的方式,其实不止是用在微信表情包里。
还有人,用在了网站上,作为一种超级特殊的强调色。
比如,给二维码强调。
等等。
很有意思,很好玩,虽然好像说,是有点影响用户体验。
但,它的亮,是真实的,它的骚,也是精准的。
别让这些有趣的小Bug,被无聊的规范和所谓的正确抹平了。
有这些亮瞎眼的光在。
那这个世界。
它就还没有无趣到让人绝望。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~谢谢你看我的文章,我们,下次再见。
>/ 作者:卡兹克、dongyi
>/ 投稿或爆料,请联系邮箱:wzglyay@virxact.com
数字生命卡兹克
 阅读 赞  分享 ‘%3E %3Cg transform=‘translate(0 -2.349)‘%3E %3Cpath d=‘M0 2.349h24v24H0z’/%3E %3Cpath fill=‘%23576B95’ d=‘M16.45 7.68c-.954 0-1.94.362-2.77 1.113l-1.676 1.676-1.853-1.838a3.787 3.787 0 0 0-2.63-.971 3.785 3.785 0 0 0-2.596 1.112 3.786 3.786 0 0 0-1.113 2.687c0 .97.368 1.938 1.105 2.679l7.082 6.527 7.226-6.678a3.787 3.787 0 0 0 .962-2.618 3.785 3.785 0 0 0-1.112-2.597A3.687 3.687 0 0 0 16.45 7.68zm3.473.243a4.985 4.985 0 0 1 1.464 3.418 4.98 4.98 0 0 1-1.29 3.47l-.017.02-7.47 6.903a.9.9 0 0 1-1.22 0l-7.305-6.73-.008-.01a4.986 4.986 0 0 1-1.465-3.535c0-1.279.488-2.56 1.465-3.536A4.985 4.985 0 0 1 7.494 6.46c1.24-.029 2.49.4 3.472 1.29l.01.01L12 8.774l.851-.85.01-.01c1.046-.951 2.322-1.434 3.59-1.434 1.273 0 2.52.49 3.472 1.442z’/%3E %3C/g%3E %3C/g%3E %3C/g%3E%3C/svg%3E) 推荐 ’ fill=‘%23000’ fill-opacity=’.9’/%3E%3C/svg%3E) 留言