离职日记: 第75天

今天是7月21,星期二, 晴

昨天打算今天洗被子,起床第一件事打开天气预报,雨。
但是到阳台看看天,这样子也不像要下雨啊。
正纠结要不要洗,此时看到床上的两床被子。 两床?
好的,基于风险管理, 我可以先洗一床。就算下雨,也能晾阳台里,不下雨的话,也至少完成了一床被子的任务。想到这,果断把其中一床被子洗上。
中间有乌云来过,但最后天上还是大太阳。
被子洗好后,晾在了门外的晾衣杆上,嗯,看来下午就能干透了。晾完被子下午可以考虑出门溜达了。 老闷家里打游戏也挺无聊的。


昨天去了一位朋友家,聊了挺多, 聊到最近骑手越来越多,很多超时,超时后需要去培训,而培训中心就那么几个,然后培训中心竟然满了,要排队,要等。 而完成培训前是不能继续跑的。
可以看出,这个社会的兜底职业:骑手,已经严重供过于求了。 需要提一点, 超时需要培训,交通违规也需要,但是大家应该都早有耳闻,骑手不超速、不走机动车道、不横穿马路,很难不超时。 所以这自相矛盾的规则,骑手是越来越难了。 无论有意还是无意,一些平台有在减少骑手上的投入。各位朋友,失业后干骑手恐怕也不太行了,大家提前想想其他出路吧。

和朋友聊天还是挺治愈的,我临走时,他送我的最后一句话是: 善待自己。

嗯,我会努力的。


这段时间主要精力在游戏上,没有锻炼、很少看书、天天熬夜。
这段游戏搬砖的经历,不得不让我想到,我可能还是得找回一份程序员的工作,虽说未必还能找到。 [这里想发一个尴尬的笑的表情。但懒得搜emoji了,大家意会]
而基于最近的日记,如果将来的面试官看到,我恐怕要被大大的减分啊,难免会让别人产生这种怀疑: 这家伙失业后都没在做程序员相关的事情,天天打游戏,还会不会编程啊?

为了挽回一点印象分,我还是说说前几天做的一件和编程相关的事情吧。(是的,我又向生活低头了。)

最近娃迷上了拼豆。 所以家里常做的事多了这两件: 买各种颜色的豆子, 找拼豆图纸打印出来。

于是我脑洞开了一下,要不我做个小工具,把照片、图片自动生成拼豆图纸吧? 就可以把喜欢的图片做成拼豆,也不需要到处找图纸了。而这个灵感其实启发自我做的另一个小项目,下面这个头像就是用那个项目生成出来的:
image

然后这个拼豆图纸生成工具,我的思路和步骤大体是这样的:
0.我过去做过一个用马赛克一样的点生成图的项目,拼豆也类似,所以我只要把正确的颜色生成到正确的点上就行
1.找颜色,我去小某书上搜了下拼豆都有哪些颜色,拼豆有它自己的颜色名,什么A1\H2这些,我需要找到拼豆颜色名和css中可用的颜色值对应的关系,如HEX, RGB。幸运的是,小某书上资源很多,很容易就找到了。
2.将图片划分成若干格子,取每个格子的颜色值: 做一个导入图片的功能, 然后想一个规则来获取图片某位置的像素的颜色值。我想的规则是设定一个取值的边长,如4px*4px里取一个像素的颜色值,用这个值作为这4*4区域的颜色。 然后每个4*4的格子取一次值。 目前是取的这个区域里靠近中间的点的色值,假设每个格子最左上角的坐标是(x=1,y=1),即4*4取(x=2,y=2)位置的, 5*5取(x=3,y=3)位置的。
3.获取每个格子的拼豆颜色名: 取值后并不能马上用,因为拼豆里未必有这个颜色。且正确的拼豆图纸需要出现每个格子上的拼豆颜色名,不能是HEX或RGB,所以我需要用取到的色值,去拼豆可用颜色里找最近的颜色。找最近颜色这个以前项目做过,就是图片的色值的rgb分别到所有拼豆颜色里找对应rgb差值最小的。 即,假设图片的RGB分别是R1,G1,B1, 拼豆里一个颜色的RGB是R2,G2,B2, 我就对全部拼豆颜色求:

差值 = Math.abs(R1-R2)+Math.abs(G1-G2)+Math.abs(B1-B2)

再找到差值最小的颜色即可。 找的时候对颜色按差值排序, 有相同差值的取前面就行,一般问题不大。

4.计算结果图的尺寸: 家里有打印机,我期望最终这些图纸都经过打印机打印到A4纸上。 A4纸的尺寸的像素值网上也能找到。我就按这个固定像素值作为图纸的尺寸,加一个简单的padidng。然后按导入图片的长宽比例决定是竖还是横着打印到纸上,再根据横竖决定打印的图纸的尺寸,再根据横竖的格子数,计算打印出来的每个格子的尺寸。
5. 生成图纸里的图: 取到拼豆的色值后,好用的图纸需要每个格子里显示拼豆颜色名。加上上一步得到的图纸里的格子的尺寸。 知道所有格子的尺寸和颜色和色值,就能直接生成图纸里的图了。
6.其他附加信息:为什么第五步说“图纸里的图”?好奇怪。直接说图纸不就好了? 玩过拼豆的都知道,好的图纸底部会展示所需的拼豆颜色名及其对应数量,有的还会展示拼豆格子总数。这些信息可以帮我们补豆子时有个参考,也能预估拼完所需的时间,还是很有用的。这些我叫他附加信息,我是完成一次后才想起要加这个。 要加这个附加信息,需要微调一下第四步的计算逻辑。即要计算附加信息所需空间,再在A4纸的尺寸里减去这个所需空间,再去计算图纸里的图的尺寸和格子的尺寸。附加信息空间不难算,因为每个颜色所需的尺寸很好算,就是一个小格子加个数字。都是固定的。汇总信息一般也就是一行字。 算完附加信息所需空间, 再加个与图纸之间的间隔,搞定。
7.异常情况:有些情况下,上面的逻辑会出问题, 如导入的图像素太大,我输入的取色值的边长太短,导致图纸所需的格子数量很大,A4纸放不下,或放下后根本看不清里面拼豆颜色名。这是可能的。例如我们导入一张手机拍的高清照片,再按1px的边长取值。 但是我没有去处理这些问题,为什么呢? 这又不是商业软件,只是一个辅助工具。20%的工作量完成80%的功能。我觉得已经完成90%+的功能了。根据实用性和性价比,我不打算处理这些例外情况了。且,用户不是测试,这个工具的真实用户会以能帮到自己的方式去使用,也就是会传入合适的图片,自己尝试一个合适的取值边长,来生成对他有用的图纸,那我觉得这个工具的价值就达到了。

上面说的开发部分(2-6步),全部都用豆包完成。 我负责告诉它规则,由它开发, 然后我来测试、调试、极少的代码微调和发布。发到GitHub上了,这个是demo:https://bee0060.github.io/beans-blueprint-helper/index.html

8.还不好的地方: 是的,还有8,算是一个TODO list。 不够完善的地方。 当然,页面虽然算简洁,但不算美观。 另外打印出的图纸里的附加信息里的颜色名部分的样式还有点问题。太靠边, 颜色背景色展示不太正不太好看。 这些问题放公司项目里,妥妥的bug拉。 但是在我这个项目里,其实不影响使用,但属于锦上添花的事情。但这些影响正常用户使用体验的问题,我会修复,之后找时间吧。 但,因为项目是vibe coding出来的, 改vibe coding的代码,一般会比较痛苦,而且我这还全原生js写的,没用框架(无需编译、发布简单),那痛苦只会更甚。还好这次主要改下样式就行,要是要改逻辑,那真是苦了啊。

9.不太适用的场景。 其实并不是什么图片都适合直接转拼豆图纸的。且可以说,其实只有较少的图片适合转拼豆图纸。 这是我实际使用后的真实感受。 因为线条粗细、视觉的角度、颜色使用等问题。如色彩丰富的风景画、相片是不合适的。 而适用的场景包括一些简笔画或简单的人像画。

最后

在我做出这个工具后,才深刻体会到,各行各业真的都有其门道,不是看起来这么简单的。拼豆图纸设计真的也是一门学问。

那我这个工具的价值在哪呢? 我想和AI工具的其中一个价值类似,就是试错成本低。 可以找一些简笔画、照片啥的,简单生成一下看下效果,再决定是否直接使用还是基于这个结果微调或手作一个拼豆图纸,即使决定手作,也比看着原图手作简单多了。 简单说就是降低原本专业性工作的成本。

好了,这个和程序员身份相关的日记到此为止。希望将来面试时能给我的印象分往好的方向拉回来一点点。 且希望你看的开心。
正好我的汤也该加最后一份食材了。(是的,我今天早上还自己煲了汤)

谢谢观看

后记

在我给汤加完食材后。 真的开始下雨了,而且一下就下很大。 赶紧去抢收被子,淋湿了一些。T_T.

只能说这篇日记完成的很是时候,赶上了收被子。

今天真不错。 😃

posted on 2026-08-20 08:57  bee0060  阅读(3)  评论(0)    收藏  举报

导航