GL世博会作出反应重新调整拍摄的图像

问题描述 投票:0回答:1

我这里有从表面输出图像遭受缩放,而不是保持不变的分辨率为原始的问题。

输入和输出的一些实例中,与表面的呈现大小沿。

实施例1:

Original Image = {
  height: 2560,
  width: 1440,
}

Final Image = {
  height: 1518,
  width: 854,
}

Surface Size = {
  height: 284.625,
  width: 506
}

实施例2:

Original Image = {
  height: 357,
  width: 412,
}

Final Image = {
  height: 936,
  width: 1080,
}

Surface Size = {
  height: 360,
  width: 311.9417475728156
}

为了捕捉图像,我用下面的代码:

getEditedImage = async () => {
  return await this.image.glView.capture({ quality: 1 });
};

其中image表示表面从我拍摄图像。

我想输出的图像分辨率是完全一样的输入。是否有人有一个想法,我怎么能实现呢?

react-native opengl-es expo
1个回答
0
投票

您将看到如何在这里使用。

https://docs.expo.io/versions/v32.0.0/sdk/gl-view/

格式(串),压缩(数)的部分似乎是您需要的部分。


来源:https://docs.expo.io/versions/latest/sdk/take-snapshot-async/

此链接包含质量的描述。

takeSnapshotAsync(view, options)

  • 质量:数 - 0和1之间,其中0是最差质量,而1是最好的,缺省值为1
const targetPixelCount = 1080; // If you want full HD pictures
const pixelRatio = PixelRatio.get(); // The pixel ratio of the device
// pixels * pixelratio = targetPixelCount, so pixels = targetPixelCount / pixelRatio
const pixels = targetPixelCount / pixelRatio;

const result = await takeSnapshotAsync(this.imageContainer, {
  result: 'file',
  height: pixels,
  width: pixels,
  quality: 1,
  format: 'png',
});
© www.soinside.com 2019 - 2024. All rights reserved.