作者ryanliang (暑假闲闲的大学生~~)
看板MacDev
标题Re: [问题] 如何读取Memory里面的Raw Image?
时间Wed Oct 6 10:13:00 2010
:
: 各位先进大家好!
: 小弟在这有个问题想请大家给点意见
: 就是目前我已经在QTCaptureView上面撷取到影像
: 也把它存成.bmp档
: 但是.bmp档上带有54 bytes的档头
: 我不要那个档头 我只有档头外的资料(也就是raw image)
: 举例来说
: 640*480的.bmp档大小就是
: 640 * 480 * 4 = 1228800 bytes + 54(档头) = 1228854 bytes
: 档头占54 bytes,raw image占1228800 bytes
: 但我现在希望能够撷取不带档头的raw image
: 我现在想到有两个方式
: 不过这两个方式我都还找不到方法可以实做出来XD
: 第一种
: 在转成.bmp档之前就把raw image读出来
: 但是我是用NSImage当物件
: 我找不到该用甚麽method来做
: 第二种
: 转成.bmp後 buffer存中有raw image
: 但是连带档头也在
: 我想用读记忆体的方式
: 一个一个读出来
: (也就是知道buffer的记忆体位置,利用记忆体指标向後位移54bytes在开始取)
: 但是我在网路上找不到实作的Method
: 所以现在就是卡在存的了图
: 但读不出raw image的情况
: 希望板上先进可以帮帮我
: 感谢!!
: P.S 我存图用的方法是:
: NSImage *image <--Buffer内的图档资料以在image物件里面
: NSBitmapImageRep *bitmapImage = [NSBitmapImageRep alloc]
: initWithData:[image TIFFrepresentation]];
: [image addRepresentation:bitmapImage];
: NSData *data = [bitmapImage representationUsingType:NSBMPFileType
: properties:nil];
: [data writeToFile:@"路径" atomically
: → zonble:应该是 NSData 的getBytes:range:
zonble大 我刚刚试了 我不知道range要放甚麽样的参数
而且如果不用range 则会出现下列的错误讯息:
"Invalid use of viod expression"
不知道该怎麽去解决了@@
: 推 sinread:http://www.cocoachina.com/bbs/read.php?tid-26057.html
: → sinread:参考一下上面那个连结~
sinread大 我看过里面附的程式
我现在是已经转换成我要的raw image了
只是我想要想办法不要读到档头的资讯
因为.bmp档除了档头之外就是raw image
希望可以帮我想想办法
小弟谢谢各位~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.177.46
2F:→ sinread:小范例看一下, 如果知道bitmap档头格式, 应该不难 10/06 12:32