批量图像修剪

发布于 2024-12-16 10:28:50 字数 461 浏览 0 评论 0原文

我有一个包含大量图像的 Flash fla 文件。每个图像的大部分由透明像素组成,其中某处有一个视觉对象。目前每个图像都位于 {x:0, y:0}。

我想将图像的透明像素修剪到最小边界框,但将对象保持在相同的全局位置。这需要将修剪后的图像移动到未修剪图像中对象的全局位置。

这并不是什么大问题,但事实上图像都包含在 fla 中才是问题所在。我目前看到的选项是:

  • 调查 JSFL,位图对象有一个 getPixels,这与选择和删除操作相结合可以工作

  • 将 fla 保存到 xfl 并使用 Ruby + 图像处理库之类的东西枚举图像和关联的 xml

问题:

  • 有谁预先知道这个操作是否可以在 JSFL 中进行?
  • 有人对 xfl 文件进行过很多自动化处理吗?
  • 是否有现成的图像处理器可以执行此修剪操作?

I have a Flash fla file that contains a whole lot of images. The majority of each image is composed of transparent pixels with a visual object in there somewhere. Each image at the moment is at {x:0, y:0}.

I want to trim away the transparent pixels of the image down to a minimum bounding box, but keep the object at the same global position. This requires shifting the trimmed image to the global position of the object in the untrimmed image.

This is not so much a problem, but the fact that the images are all contained in a fla is the problem. The options I see at the moment are:

  • investigate JSFL, the Bitmap object has a getPixels, this in combination with a selection and delete operation could work

  • save the fla to xfl and enumerate the images and associated xml with something like Ruby + image processing lib

Questions:

  • Does anyone know upfront if this operation is possible in JSFL?
  • Have anyone done much automated processing of xfl files?
  • Is there an off the shelf image processor that can perform this trimming operation?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美的太阳 2024-12-23 10:28:50

应该可以使用像 Ruby 这样的语言来查找 xfl 项目目录结构中的所有图像文件,并使用像 ImageMagick 这样的程序(它是免费的并且适用于多种脚本语言)来编辑它们。

这个人很好地解释了如何从 XFL 文档访问您的资源:
http://blog.mencio.com/?p=121

这是有关删除边框的链接ImageMagick 论坛上的像素:
http://www.imagemagick.org /discourse-server/viewtopic.php?f=1&t=11103&start=0

希望这足以让您开始。

It should be possible to use a language like Ruby to find all image files in the xfl project directory structure and edit them with a program like ImageMagick (which is free and works with a variety of scripting languages).

This guy does a good job of explaining how to access your assets from the XFL document:
http://blog.mencio.com/?p=121

Here's a link on removing border pixels on the ImageMagick forum:
http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=11103&start=0

Hope that's enough to get you started.

铃予 2024-12-23 10:28:50

您可能想尝试在使用图像时在 ActionScript 中自动进行修剪。将图像颜色转换为单色并使用像素方法来识别边界区域。这是此处使用的类似技术。

You might want to try doing the trimming automatically in ActionScript as the images are being used. Color shift the image to a single color and using the pixel methods to identify the bounding area. It's a similar technique used here.

流年已逝 2024-12-23 10:28:50

在 Photoshop 中解决了这个问题。使用PS的脚本语言,一个选区可以有多个区域,你可以通过代码访问这些“岛屿”。

在上面的示例中,我(自动)找到了所有单独岛屿的 {x,y} 位置,修剪了岛屿的图形,并将每个岛屿保存为单独的图像文件。 {x,y} 位置成为文件名的一部分。我还没有在 Flash 中构建 JSFL 部分,该部分将读取文件名并根据名称中的 {x,y} 定位它们;而是手工完成的。

如果您可以导出所有图像,则可以使用此 PS 脚本找到位置并裁剪图像。编写 JSFL 脚本来定位图像将是一项相当简单的任务。

I worked this problem out in Photoshop. Using PS's scripting language, a selection can have multiple regions, and you can access these "islands" through code.

In the above example, I found (automatically) the {x,y} position of all separate islands, trimmed the island's graphics, and saved each island as a separate image file. The {x,y} location became part of the filename. I have not built the JSFL portion in Flash which would read the filenames and position them according to the {x,y} in the name; but instead did it by hand.

If you can export all your images, you can use this PS script to find the location and crop the images. It would be a fairly striaghforward task to write a JSFL script to position the images.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文