4

我已经看到了使用ImageElement加载图像的答案。这仅适用于浏览器端,我想在服务器上进行一些处理。

有没有办法在服务器端飞镖中从 PNG 加载和读取 RGBA 值?如果没有,是否计划有任何服务器端图像处理库?

无论如何运行Dartium“无头”,所以我可以使用canvas api来做我想做的事?

4

2 回答 2

5

有一个可以读写PNG图像服务器端的dart库, http: //pub.dartlang.org/packages/image

该库可以读取和写入 PNG 和 JPG 图像,并提供许多图像处理命令。

例如,要读取 PNG、调整大小并使用此库将其保存到磁盘:

import 'dart:io' as Io;
import 'package:image/image.dart';
void main() {
    // Read a PNG image from file.
    Image image = readPng(new Io.File('foo.png').readAsBytesSync());

    // Resize the image to a 120x? thumbnail (maintaining the aspect ratio).
    Image thumbnail = copyResize(image, 120);

    // Save the thumbnail to disk as a PNG.
    new Io.File('foo-thumbnail.png').writeAsBytesSync(writePng(thumbnail));
}
于 2014-01-14T03:52:30.943 回答
2

目前没有图书馆。

我一直在使用ImageMagick。你可以Process.run()用来运行它。这是一个例子:

Process.run('/usr/local/bin/convert', ['file', '-resize', '100x100']);
于 2013-06-29T10:43:57.070 回答