图像资产和位图工厂插件之间的主要区别是什么

时间:2019-06-09 03:47:46

标签: nativescript

我正在尝试调整图像大小,然后再将其上传到服务器。我知道人们可以通过使用图像资产保持其宽高比来调整图像的大小。尽管减小了图像大小,但质量非常差,我发现的另一个选择是位图工厂。

因此,通过使用位图,图像质量要比使用图像资产好。请对此进行澄清。由于该插件当前存在许多错误。如果我没有更好的图像质量,我不想浪费时间解决那些问题。

2 个答案:

答案 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");

        })