我正在尝试使用 pharo 调整硬盘驱动器上的图像文件的大小。这是我目前的做法:
img := ImageReadWriter formFromFileNamed: 'picture.jpg'.
scaledimage := img scaledIntoFormOfSize: 100.
scaledimage writeJPEGfileNamed: 'scaledPicture.jpg'.
这是一个好方法吗?还有一种方法可以指定此图像的 jpeg 压缩质量吗?
谢谢!
亨内
好的,我找到了执行此操作的方法并想分享我的解决方案。这是代码:
img := ImageReadWriter formFromFileNamed: 'pic.jpg'.
scaledimage := img magnifyBy: 0.8.
PluginBasedJPEGReadWriter
putForm: scaledimage
quality: 95
progressiveJPEG: false
onFileNamed: 'scaledPicture95.jpg'.
scaledimage writeJPEGfileNamed: 'scaledPictureDfl.jpg'.
这样,您可以按一个因子缩放图像,在本例中为 0.8。大于 1 的因子也有效。此外,您可以指定 JPEG 质量。在这个例子中我选择了 95。渐进式 JPEG 标志可以创建一个图像,该图像在加载时以预览质量显示在浏览器中,并且传输的数据越多越好。但并非所有浏览器都支持!最后一行是可选的,只是保存第二个带有默认设置的 JPEG 作为比较。我希望这可以帮助一些人在未来寻找这个。
亨内