在iOS上使用android.graphics.Bitmap

3
我正在将一个Android应用程序迁移到iOS平台。在Android上,我有一个android.graphics.Bitmap对象,但我不知道在iOS上可以使用哪种对象。我认为我可以使用CGBitmapContext或UIImage。在《Learn Objective-C for Java Developers》一书中,我没有找到任何有用的信息。
在Android上,首先我必须创建一个带有大小的Bitmap对象,然后可以使用该Bitmap对象获取其JPEG版本,或者在其上绘制一些像素。
您建议我使用什么呢?

你在Android上如何使用Bitmap?如果你不需要它是可变的,你可以使用initWithData:从原始像素信息初始化UIImage。 - Ben S
@Benoit,我已经更新了我的问题,提供了更多关于我的使用方式的细节。 - VansFannel
3个回答

2

1
您需要使用的框架名为 Core Graphics。该框架与 Android 不同 - 更低级且更强大。
一些有趣的类和函数:
CGImageRef - 表示图像
CGContextRef - 表示可绘制的上下文
CGBitmapContext - 支持原始字节数据的上下文 - 您可以使用上下文函数在此处绘图,或者通过访问字节直接设置颜色值。

您可以从 UIImage 获取 CGImageRef,也可以将 CGImageRef 绘制到 CGBitmapContext 中,或者直接将 UIImage 绘制到上下文中([UIImage draw...])。
这些类/函数应该足以让您开始在网络上搜索和查找文档。

0

是的,您可以使用UIImage或CGImage...

UIImage可以被视为CGImage的面向对象封装... 但由于您来自Java背景,我建议您选择UIImage...

CGBitmapContext是完全不同的东西。我认为它就像画布一样,您可以在上面绘制并将所有绘制保存为图像。

如果您仍然感到困惑...我建议您将问题表述得更清楚一些...我无法理解您试图实现什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接