我已经看到了使用ImageElement加载图片的答案。这仅适用于浏览器端,我想在服务器上进行一些处理。
有没有办法从服务器端dart中的PNG加载和读取RGBA值?如果没有计划任何服务器端图像处理库?
无论如何都要运行Dartium“无头”,所以我可以使用canvas api来做我想要的事情吗?
答案 0 :(得分:5)
有一个dart库可以读写服务器端的PNG图像, 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));
}
答案 1 :(得分:2)
目前没有图书馆。
我一直在使用ImageMagick。您可以使用Process.run()
来运行它。这是一个例子:
Process.run('/usr/local/bin/convert', ['file', '-resize', '100x100']);