问题标签 [uiimagepngrepresentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1323 浏览

ios - 获取 uiimageview 图像并转换为 uiimage (swift4)

我有一个带有照片的图像视图。我想拍摄那张照片并将其转换为 UIImagePNGRepresentation。努力将其存储为核心数据。我现在编写的代码不起作用。

0 投票
1 回答
85 浏览

swift - 生成 QRCode 并将其作为附件通过电子邮件发送的程序不起作用,因为 UIImagePNGRepresentation 正在返回 nil

请在下面找到代码。

  1. 我正在创建一个二维码。
  2. 然后我想将其转换为 png 并作为附件发送电子邮件。

该行:

不断回馈nil并导致代码崩溃。有什么帮助吗?

0 投票
1 回答
285 浏览

ios - 为什么在 UIImagePNGRepresentation 之后图像大小会增加?

我的 iPhone 的照片应用程序中有图像文件。

我已经通过空投将它带到我的 macbook 并检查了图像的大小 = 1.9 MB

我将相同的图像保存到 iphone 的文件应用程序并检查了那里的图像大小 = 1.9 MB

我通过 , 将相同的图像带入了我的应用程序UIImagePickerController

  • 使用UIImagePNGRepresentation并打印了数据计数/字节计数 = 15.8 MB
  • 与compressionRatio 1.0一起使用UIImageJPEGRepresentation并打印数据计数/字节计数= 5.4 MB
  • 使用UIImagePNGRepresentation并将其保存到本地(DocumentsDirectory)并检查文件大小 = 15.8 MB
  • 与compressionRatio 1.0一起使用UIImageJPEGRepresentation并将其保存到本地(DocumentsDirectory)并检查文件大小= 5.4 MB

现在,我的问题是,为什么UIImagePNGRepresentationORUIImageJPEGRepresentation将文件大小增加到那么大?我什至把这张图片上传到我的服务器上,显然得到了更大的图片尺寸。我想以原始质量将给定图像上传到我的服务器,但我不想要这么大尺寸的图像(因为它在设备上的实际尺寸完全不同),有没有其他方法可以防止原始图像的大小和质量两个都?。

0 投票
1 回答
936 浏览

swift - 快速创建透明纹理

我只需要创建一个透明纹理。(带有 alpha 0 的像素)。

当我使用预览打开 temparyTexture 时,它​​似乎是黑色的。这里缺少什么?

更新

我只是尝试使用透明图像创建纹理。代码。

方法被调用如下

其中 layer1.png 是一个透明的 png。但即使它在我尝试替换纹理时出现消息“线程 1:EXC_BAD_ACCESS (code=1, address=0x107e8c000)”崩溃。我相信这是因为图像数据是压缩的,而 rawpointer 应该指向未压缩的数据。我该如何解决这个问题?

我是在正确的道路上还是完全在错误的方向上?有没有其他选择。我只需要创建透明纹理。

0 投票
2 回答
52 浏览

ios - Apple 的图像加载/保存代码似乎稍微修改了我的图像

我正在编写一些测试来检测无损图像格式的更改(从 PNG 开始),并发现在 Linux 和 Windows 上,图像加载机制按预期工作 - 但在 iOS 上(尚未在 macOS 上尝试过)图像数据总是如果我从磁盘上的 PNG 文件加载或使用 Apples 的方法保存到磁盘上的 PNG 文件,则会发生非常轻微的变化。

如果我使用任意数量的工具(GIMP/Paint.NET/whatever)创建一个 PNG 并使用我的跨平台 PNG 读取代码来检查生成的加载数据的每个像素 - 它与我在工具中所做的完全匹配(或以编程方式使用我的跨平台 PNG 编写代码生成。)随后重新加载到创建工具中会产生完全相同的 RGBA8888 组件。

如果我使用 Apple 从磁盘加载 PNG:

...然后检查生成的像素,它相似但不相同。我希望像在其他平台上一样,数据是相同的。

现在,有趣的是,如果我使用我的代码从 PNG 加载数据,并用它创建一个 UIImage(使用下面显示的一些代码),我可以使用该 UIImage 并显示它,复制它,无论如何,如果我检查像素数据——这正是我一开始就给它的(这就是为什么我认为这是苹果修改图像数据的加载保存部分。)

当我指示它保存我所知道的具有完美像素数据的良好 UIImage,然后使用我的 PNG 加载代码加载 Apple 保存的图像时,我可以看到它不是完全相同的数据。我使用了几种 Apple 建议将 UIImage 保存为 PNG 的方法(主要是 UIImagePNGRepresentation。)

我唯一能真正想到的是,Apple 在 iOS 上加载或保存时并不真正支持 RGBA8888,并且正在对 alpha 通道进行某种预乘 - 我推测这是因为当我第一次开始使用我在下面发布的代码时我在选择

...而不是我最终不得不使用的东西

因为由于某种原因,iOS 不支持前者。

有没有人在 iOS 上遇到过这个问题?

干杯!

我用来将 RGBA8888 数据推入和拉出 UIImages 的代码如下:

0 投票
2 回答
117 浏览

ios - 数据到 UIImage 到 UIImageJPEGRepresentation 相等失败

为什么这种转换无法产生相同的图像数据?

据我了解UIImageJPEGRepresentationUIImagePNGRepresentation 可以剥离元数据的形象。是这个原因吗?

0 投票
1 回答
3483 浏览

swift - 无法转换“数据”类型的值?到预期的参数类型'UIImage

我正在尝试获取图像的数据,但出现此错误:

无法转换“数据”类型的值?到预期的参数类型'UIImage'

编码:

我哪里出错了?

0 投票
1 回答
349 浏览

ios - 当我在 Swift 中使用 CGImageSourceCreateThumbnailAtIndex 时应用程序崩溃

我只是CGImageSourceCreateThumbnailAtIndex用来缩小UIImage尺寸。我收到崩溃消息:

"IIONumber -- 'num' 不是 CFNumberRef" 。

我找不到它是什么?谢谢

0 投票
0 回答
37 浏览

swift - 转换为PNG时如何保持UIImage方向以生成缩略图

我有一个应用程序,我想从现有的 UIImages 创建缩略图。我使用下面的函数获取全尺寸 UIImage 的参数并返回 100pxl 图标/拇指 UIImage。这一切似乎都很好,但我注意到一些生成的图标/拇指 UIImages 与原始图像相比旋转了 90 度。下面的代码中是否存在问题,我没有看到导致某些图像旋转而不是其他图像?也许是从 UIImages 创建拇指的更好解决方案?

0 投票
0 回答
57 浏览

android - 在图像视图android studio中显示PNG文件

我正在尝试显示用户的徽标。它应该是 png 文件格式,并且必须具有透明背景。但是当它显示时,它就像普通图像一样显示。(即,背景可见)。