<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on WebP Cloud Services Blog</title><link>https://blog.webp.se/tags/engineering/</link><description>Recent content in Engineering on WebP Cloud Services Blog</description><generator>Hugo</generator><language>zh-cmn</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Fri, 16 Oct 2026 12:00:00 +0800</lastBuildDate><atom:link href="https://blog.webp.se/tags/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Two and a Half Years Later, We Finished That libvips Guide with AI</title><link>https://blog.webp.se/vips-handbook-ai-en/</link><pubDate>Fri, 16 Oct 2026 12:00:00 +0800</pubDate><guid>https://blog.webp.se/vips-handbook-ai-en/</guid><description>&lt;p&gt;In March 2024, we ended “&lt;a href="https://blog.webp.se/dashboard-fabric-en/"&gt;Implementing a Real-Time Watermark Preview with Fabric.js&lt;/a&gt;” by creating a much bigger job for ourselves.&lt;/p&gt;
&lt;p&gt;That article was originally about something quite specific: replacing the Dashboard’s slider-only watermark controls with an editor where users could drag, resize, and preview a watermark directly. Fabric.js described the watermark’s position, dimensions, text, and color in the frontend, while libvips generated the final image on the backend. Once the two sides were close enough to what-you-see-is-what-you-get, we ran into a larger problem. There was not much material about libvips online, even less about govips, and Chinese-language documentation was especially fragmented.&lt;/p&gt;</description></item><item><title>两年半后，我们在 AI 的帮助下完成了那份 libvips 指南</title><link>https://blog.webp.se/vips-handbook-ai-zh/</link><pubDate>Fri, 16 Oct 2026 12:00:00 +0800</pubDate><guid>https://blog.webp.se/vips-handbook-ai-zh/</guid><description>&lt;p&gt;2024 年 3 月，我们在《&lt;a href="https://blog.webp.se/dashboard-fabric-zh/"&gt;使用 Fabric.js 实现实时水印预览&lt;/a&gt;》的最后给自己挖了一个坑。&lt;/p&gt;
&lt;p&gt;那篇文章原本在讲一件很具体的事情：怎样把 Dashboard 里只能靠滑块调整的水印，改造成一个可以直接拖动、缩放并实时预览的编辑器。前端用 Fabric.js 描述水印的位置、大小、文字和颜色，后端再用 libvips 生成最终图片。等到前后端的结果终于能够做到基本所见即所得时，我们又发现了另一个更大的问题：网上有关 libvips 的资料并不多，有关 govips 的资料更少，中文内容尤其零散。&lt;/p&gt;</description></item></channel></rss>