我正在尝试使用pharo调整硬盘驱动器上的图像文件大小。这是我目前的做法:
img := ImageReadWriter formFromFileNamed: 'picture.jpg'.
scaledimage := img scaledIntoFormOfSize: 100.
scaledimage writeJPEGfileNamed: 'scaledPicture.jpg'.
这是一个很好的方法吗?还有一种方法可以为此图像指定jpeg压缩质量吗?
谢谢!
Henne的
答案 0 :(得分:2)
好的,我找到了这样做的方法并希望分享我的解决方案。这是代码:
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,默认设置作为比较。我希望这可能会帮助一些人在将来寻找这个。
Henne的
答案 1 :(得分:1)