Swift 像素绘图方法

vina成 2016-05-17 12:56:30
已经有一个保存像素的数组,然后怎么将些像素绘制到UIimage?
...全文
575 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vina成 2016-05-25
  • 打赏
  • 举报
回复
啊 我换了一种方法 我将像素值转化成UIColor,然后再用颜色绘制图形。?UIImageView.backgroundColor = UIColor[] 但是这样又会碰上一个问题,这种方法只能设置UIImage为纯色。没办法一个一个点更新颜色。我不清楚是否能利用坐标UIImageView.UIImage.point[x,y].Color = UIColor[] 这样来更新它 原谅我是个菜鸟非常感谢答主
ravatar0423 2016-05-23
  • 打赏
  • 举报
回复
感觉这个不太正确bitmapInfo: CGBitmapInfo = CGBitmapInfo.ByteOrder32Big 再参考一下这个例子: http://blog.human-friendly.com/drawing-images-from-pixel-data-in-swift
vina成 2016-05-22
  • 打赏
  • 举报
回复
引用 1 楼 ravatar0423 的回复:
参考一下:
http://stackoverflow.com/questions/4545237/creating-uiimage-from-raw-rgba-data


我按照这个尝试了一下,发现屏幕输出的颜色和我设置像素颜色不一样 会出现很奇怪的红黑相间的条纹 更改像素值发现除了R:0G:0 B:0 是黑色以外 其它像素值都是红黑相间的条纹状 调了好久没发现哪出问题了 头疼 求大神帮我看一下问题出在哪
pixels[600*600*4]是一个已经赋值了的像素数组

let colorSpace: CGColorSpaceRef = CGColorSpaceCreateDeviceRGB()!
let imgWidth = 600
let imgHeight = 600
let bitsPerPixel = 32
let bytesPerRow = 4 * imgWidth
let bitsPerComponent = 8
let renderingIntent:CGColorRenderingIntent = CGColorRenderingIntent.RenderingIntentAbsoluteColorimetric
let bitmapInfo: CGBitmapInfo = CGBitmapInfo.ByteOrder32Big
let provider: CGDataProviderRef = CGDataProviderCreateWithData(nil, pixels, imgWidth * imgHeight * 4, nil)!
let imgref = CGImageCreate(imgWidth, imgHeight, bitsPerComponent, bitsPerPixel, bytesPerRow, colorSpace, bitmapInfo, provider, nil, false, renderingIntent)!
self.realImage = UIImage.init(CGImage: imgref)
ravatar0423 2016-05-17
  • 打赏
  • 举报
回复
参考一下: http://stackoverflow.com/questions/4545237/creating-uiimage-from-raw-rgba-data

1,420

社区成员

发帖
与我相关
我的任务
社区描述
Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C共同运行于MAC OS和iOS平台,用于搭建基于苹果平台的应用程序。
swift 技术论坛(原bbs)
社区管理员
  • Swift
  • 网罗开发
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧