Tag: 位图

从iPhone摄像头(AVCaptureSession)捕获24 bpp位图中的图像

我使用AVCaptureSession从iPhone的前置摄像头捕获帧。 我试图改变AVCaptureVideoDataOutput的格式,以便它可以捕获一个24 bpp的位图。 这段代码为我提供了一个没有任何问题的32 bpp位图: AVCaptureVideoDataOutput *outputDevice = [[AVCaptureVideoDataOutput alloc] init]; outputDevice.videoSettings = [NSDictionary dictionaryWithObject: [NSNumber numberWithInt:kCVPixelFormatType_32BGRA] forKey: (id)kCVPixelBufferPixelFormatTypeKey]; [outputDevice setSampleBufferDelegate:self queue:dispatch_get_main_queue()]; 但是,当我将其更改为24时,会在该行上崩溃。 outputDevice.videoSettings = [NSDictionary dictionaryWithObject: [NSNumber numberWithInt:kCVPixelFormatType_24RGB] forKey: (id)kCVPixelBufferPixelFormatTypeKey]; 我怎样才能在24 bpp中捕捉图像? 为什么它失败* kCVPixelFormatType_24RGB *? 解决方法是将32 bmp转换为24,但我还没有find如何做到这一点。

将十进制转换为二进制(字符的位图)

我有一个关于从angular色获取位图的问题,例如A. 我已经在网上search,但没有直接的帮助。 我find了这个页面,在那里描述了我的计划。 从这个网站引用: 例如字符char =“A”位=“227873781661662”,其转换为二进制的“0000 0000 0000 0000 1100 1111 0011 1111 1111 1111 1100 1111 0011 1111 1101 1110”。 他们如何从227873781661662到00000000 0000 0000 1100 1111 0011 1111 1111 1111 1100 1111 0011 1111 1101 1110? int num = 227873781661662; int n = log(num)/log(2)+1; //Figure out the maximum power of 2 needed NSString *result = […]

作为System.Drawing.Bitmap(Xamarin)从背景应用程序的iOS屏幕截图

对于越狱的iOS设备上的私人应用程序 (=不在任何应用程序上发布),我需要将整个屏幕的屏幕截图发送到后台。 类似的问题已经发布 iOS:作为后台任务运行时可以截屏吗? 其结论是,由于iOS的安全沙箱,在非越狱设备上是不可能的 如何从背景应用程序运行iPhone的屏幕截图? 尚未完成,但也似乎是针对非越狱设备 如何在越狱iOS设备上截屏整个屏幕? (和有些类似越狱iOS从后台应用程序截图 )似乎接近我所寻找的,但代码是在Objective C中编写的,并使用一个神秘的私人函数_UICreateScreenUIImage() ,我不知道它定义了哪个模块(所以我不知道如何声明它是一个外部函数)。 此外,屏幕截图以UIImage的forms返回(请参阅http://developer.xamarin.com/api/type/MonoTouch.UIKit.UIImage/ ),但我不知道如何将其转换为System.Drawing.Bitmap(请参阅https://developer.xamarin.com/api/type/System.Drawing.Bitmap/ )。 以下是我的代码的职位。 我正在寻找与private System.Drawing.Bitmap ShootScreen()的实施帮助 using System; using System.Collections.Generic; using System.Drawing; using System.Threading; namespace StackOverflowSnippets { public sealed class ScreenshooterThread { private Thread _t = null; // Thread-Object: Execution-Helper private Boolean _terminate = false; // Stop current execution? private Int32 _intervalMS […]

iOS是否支持任何forms的位图字体在UIKit类中使用?

iOS是否支持任何forms的位图字体在UIKit类中使用?

从UIImage获取二进制数据

我有一个要求,我必须从ios设备发送图像到另一个设备corebluetooth,其他设备是BLE设备。 基本需求是: 1)图片的大小应该是128X160 2)8位,即每种颜色8位 3)3个频道 4)每像素24位 5)图像应该有61440(即(3X128X160) 要获得3通道和每像素24位,我使用OpenCV的代码,如本机ios我dintfind选项将UIImage转换成24位位图 //uiimg is 128X160 size cv::Mat image; cv::Mat convertedImage; UIImageToMat(uiimg, image); cvtColor(image, convertedImage, CV_RGBA2BGR); 如果我检查字节数和每像素位数,那么它会出现如下 img = MatToUIImage(convertedImage); size_t bytesPerRow1 = CGImageGetBytesPerRow(img.CGImage); // It gives 3, seems like correct which is needed size_t total = bytesPerRow1 * img.size.height; //it gives 61440, seems like correct which is need 但是当我把这个UIImage转换成NSDate,然后检查[NSData字节],那么它给了我39087bytes。 […]

如何比较iOS中的位图?

我有三个CGLayers谁是我想比较的数据。 void *a = CGBitmapContextGetData(CGLayerGetContext(layerA)); void *b = CGBitmapContextGetData(CGLayerGetContext(layerB)); void *c = CGBitmapContextGetData(CGLayerGetContext(layerC)); 我想得到像((a或b)和c)这样的结果,其中只有在layerA或layerB中以及在layerC中on的位最终在结果中。 这些图层是kCGImageAlphaOnly所以它们只有8位“深”,我只用1.0 alpha来绘制它们。 我也不需要知道重叠在哪里,我只需要知道结果中是否有任何位。 我今天真的很想念QuickDraw,它有很多面向比特的操作非常快。 有关如何完成这样的事情的任何想法?

将UIImage转换为CVImageBufferRef

这个代码主要工作,但结果数据似乎松散的颜色通道(就是我所想的),因为显示的结果图像数据是蓝色的! 这里是代码: UIImage* myImage=[UIImage imageNamed:@"sample1.png"]; CGImageRef imageRef=[myImage CGImage]; CVImageBufferRef pixelBuffer = [self pixelBufferFromCGImage:imageRef]; 方法pixelBufferFromCGIImage是从另一个post抓取stackoverflow在这里: 如何导出UIImagearrays作为一个电影? (虽然这个应用程序是不相关的,我试图做)是 + (CVPixelBufferRef)pixelBufferFromCGImage:(CGImageRef)image { CGSize frameSize = CGSizeMake(CGImageGetWidth(image), CGImageGetHeight(image)); NSDictionary *options = @{ (__bridge NSString *)kCVPixelBufferCGImageCompatibilityKey: @(NO), (__bridge NSString *)kCVPixelBufferCGBitmapContextCompatibilityKey: @(NO) }; CVPixelBufferRef pixelBuffer; CVReturn status = CVPixelBufferCreate(kCFAllocatorDefault, frameSize.width, frameSize.height, kCVPixelFormatType_32ARGB, (__bridge CFDictionaryRef) options, &pixelBuffer); if (status != kCVReturnSuccess) { […]