我正在尝试调整图像大小,然后再将其上传到服务器。我知道人们可以通过使用图像资产保持其宽高比来调整图像的大小。尽管减小了图像大小,但质量非常差,我发现的另一个选择是位图工厂。
因此,通过使用位图,图像质量要比使用图像资产好。请对此进行澄清。由于该插件当前存在许多错误。如果我没有更好的图像质量,我不想浪费时间解决那些问题。
答案 0 :(得分:1)
在调整图像大小时,图像资产模块和位图工厂插件都可以完成相同的工作。
除了调整大小外,位图工厂插件还允许您绘制对象/在图像上写文本。我不确定它如何使您在图像质量上与众不同,但是如果您检查代码,则调整大小几乎相同。
答案 1 :(得分:1)
我尝试了两种图像大小调整,但我不知道为什么会看到一些
位图中的图像质量好于图像资产
。您可以使用以下代码检查自己。
用于位图
let w = imageSourceModule.fromFile(img).width;
let h = imageSourceModule.fromFile(img).height;
var bmp = BitmapFactory.create(w, h);
const asset_1 = new ImageAsset(img);
imageSourceModule.fromAsset(asset_1)
.then(img_1 => {
bmp.dispose(function (b) {
b.insert(BitmapFactory.makeMutable(img_1));
// ## Max dimension. Respects aspect ratio.
var b2 = b.resizeMax(250);
var thumb_image = b2.toImageSource();
console.log("-----thumb_image------");
console.log(thumb_image);
if (thumb_image) {
console.log("bit map File successfully deleted....!");
thumb_image.saveToFile(pathDest_1, "jpg");
}
});
})
对于图像资产
const asset = new ImageAsset(img);
asset.options = {
width: 250,
height: 250,
keepAspectRatio: true,
autoScaleFactor: true,
};
imageSourceModule.fromAsset(asset)
.then(img => {
img.saveToFile(pathDest, "jpg");
})