标签: cgimage

takepicture()vs UIGetScreenImage()

我正在努力建立一个QRCodeReader我们的研究小组正在为iPhone工作的项目.经过大量研究,我发现该程序被称为QuickMark.该程序自动扫描QRCodes.它的作用是UIImagePicker从相机加载和读取数据.我怀疑它正在使用UIGetScreenImage并从相机中截取并解码它.

现在我尝试使用takepicture()3.1 iPhone API中的新方法,但似乎无法做到以上所做的事情,即每隔一秒左右拍摄照片,默默无闻.现在我听说这UIGetScreenImage可能不合法,如果他们使用它,Apple会转身并拒绝访问你的应用程序.所以,我的问题是:

a)是Quickmark(或任何其他允许的应用程序)使用UIGetScreenImage(),如果是,是否合法,

b)takepicture()方法可以做同样的事情吗?

iphone uiimagepickercontroller cgimage

5
推荐指数
1
解决办法
1万
查看次数

如何使用RGB数据创建CGImage?

谁能告诉我一个如何使用的明确例子

CGImageRef CGImageCreate 
(
   size_t width,
   size_t height,
   size_t bitsPerComponent,
   size_t bitsPerPixel,
   size_t bytesPerRow,
   CGColorSpaceRef colorspace,
   CGBitmapInfo bitmapInfo,
   CGDataProviderRef provider,
   const CGFloat decode[],
   bool shouldInterpolate,
   CGColorRenderingIntent intent
);
Run Code Online (Sandbox Code Playgroud)

我有一个CGFloat dataBuffer [width*height*3];

它包含图像的所有RGB数据.基本上,它从像素R(0,0),G(0,0),B(0,0),R(0,1)...到R(宽度,高度),G(宽度,高度) ,B(宽度,高度)

我知道图像的大小,宽x高.我如何使用我拥有的信息并创建CGImage?

请帮忙,谢谢

我发布了另一个包含上述问题的问题.nschmidt正确回答,这是链接

在Objective-C++ Cocoa中将RGB数据转换为位图

cocoa objective-c cgimage ios

5
推荐指数
1
解决办法
1万
查看次数

如何在iphone sdk上将NSData转换为CGDataProviderRef?

我在CGContextDrawImage调用中收到EXEC_BAD_ACCESS错误并尝试追溯它.我有一个PNG图像并运行UIImagePNGRepresentation o它给了我NSData实例.

我需要将其转换为CGImageRef实例,因此我可以使用此CGImageRef运行CGImageCreateWithPNGDataProvider方法.

我尝试了两种方法:1)投下它.

CGImageRef ref =(CGDataProvider)nsdata;

2)运行CGDataProviderCreateWithCFData(nsdata);

第一种情况返回空图像,但命令不会失败.我尝试第二种情况的原因,即使我有NSData而不是CFData是因为我记得读它接受两者.不管是什么原因,它都因此而失败.

有没有办法可以使用我的PNG NSData创建一个没有损坏的CGImage?请帮忙.

谢谢

iphone uiimage cgcontext cgimage

5
推荐指数
2
解决办法
6438
查看次数

ALAssetsLibrary ALAssetsLibraryAccessUserDeniedError

当您第一次尝试访问用户的ALAssetsLibrary时,操作系统将向他们显示一个请求权限的对话框.如果他们不允许这样做,将调用failureBlock并在将来始终调用.有没有办法再次强制提示此授权请求?

我在地图应用中注意到,他们通知用户使用按钮转到"设置"应用以打开位置服务.但是,我无法以编程方式打开"设置"应用.我应该只显示如何开启位置服务的指示吗?

iphone cgimage ios assetslibrary alasset

5
推荐指数
1
解决办法
2480
查看次数

将UIImage转换为CGImage会导致Image旋转

我正在尝试通过自定义裁剪器裁剪图像.不是来自UIImagePickerController的.现在我通过处理UIImagePicker的委托来显示从UIImgeView中的图像选择器捕获的图像:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    imvOriginalImage.image = image;
}
Run Code Online (Sandbox Code Playgroud)

对于裁剪,我必须将此Image转换为CGImageRef.以纵向模式捕获图像.现在,当我在CGImageRef中转换此图像时,图像方向会发生变化.即使我使用以下内容:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
    //imvOriginalImage.image = image;
    CGImageRef imgRef = [image CGImage];
    UIImage *img = [UIImage imageWithCGImage:imgRef];
    [imvOriginalImage setImage:img];
Run Code Online (Sandbox Code Playgroud)

}

图像方向发生变化.这仅适用于以纵向模式拍摄的图像.风景图像没有这个问题.

  1. 为什么会这样?
  2. 怎么解决这个?

提前致谢.

iphone uiimage cgimage cgimageref

5
推荐指数
1
解决办法
9707
查看次数

实时gif解码的乐趣

我已经写了这个要点来转换从这个令人难以置信的网站下载的gif数据,然后把它变成一个可以用MPMoviePlayerController播放的mp4.

问题是,我必须下载整个gif,然后开始转换.我想转换,因为我得到数据,我相信,但无法确认,通过传入返回的数据可能有CGImageSourceCreateIncremental- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data.

有没有人尝试过这个或知道一个例子?

objective-c gif nsurlconnection cgimage ios

5
推荐指数
1
解决办法
502
查看次数

旋转和裁剪UIImage

想象一下,我有一个UIImage.我需要旋转然后在全局坐标系(而不是UIImage坐标系)中裁剪它.因此,生成的图像将被裁剪旋转.

我怎样才能做到这一点?CGImageCreateWithImageInRect将仅在图像相对坐标中裁剪图像.

在此输入图像描述

PS在评论中回答.你应该使用CIImage.

objective-c uiimage cgimage ios

5
推荐指数
1
解决办法
2284
查看次数

比较IOS中两个图像的RGB

在我的应用程序中,我需要比较两个图像的RGB是否相同.我正在使用此代码...

-(CGFloat)compareImage:(UIImage *)imgPre capturedImage:(UIImage *)imgCaptured
{    

int colorDiff;
CFDataRef pixelData = CGDataProviderCopyData(CGImageGetDataProvider(imgPre.CGImage));
int myWidth = (int )CGImageGetWidth(imgPre.CGImage)/2;
int myHeight =(int )CGImageGetHeight(imgPre.CGImage)/2;
const UInt8 *pixels = CFDataGetBytePtr(pixelData);

int bytesPerPixel_ = 4;
int pixelStartIndex = (myWidth + myHeight) * bytesPerPixel_;
UInt8 alphaVal = pixels[pixelStartIndex];
UInt8 redVal = pixels[pixelStartIndex + 1];
UInt8 greenVal = pixels[pixelStartIndex + 2];
UInt8 blueVal = pixels[pixelStartIndex + 3];
UIColor *color = [UIColor colorWithRed:(redVal/255.0f) green:(greenVal/255.0f) blue:(blueVal/255.0f) alpha:(alphaVal/255.0f)];
NSLog(@"color of image=%@",color);
NSLog(@"color of R=%hhu/G=%hhu/B=%hhu",redVal,greenVal,blueVal);


CFDataRef pixelDataCaptured = CGDataProviderCopyData(CGImageGetDataProvider(imgCaptured.CGImage));
int myWidthCaptured …
Run Code Online (Sandbox Code Playgroud)

rgb objective-c cgimage ios

5
推荐指数
1
解决办法
405
查看次数

我想将NSImage转换为mp4

Adam Jensen做了很棒的工作@制作一些快速代码将图像转换为mov.

https://gist.github.com/acj/6ae90aa1ebb8cad6b47b

上面的工作很棒,但我想用比一般iPad稍微多一点的CPU和一些真实存储设备来完成这项工作,所以我需要在OS X下运行.说起来容易做起来难.

首先,我没有得到UIKit,取而代之的是Cocoa.没有UIImage,取而代之的是NSImage.在黑暗的修正中做一些刺伤; 固定/跳过减少了31个错误降至5.但我需要一些帮助.

func fillPixelBufferFromImage(image: NSImage, pixelBuffer: CVPixelBuffer, contentMode:UIViewContentMode){

CVPixelBufferLockBaseAddress(pixelBuffer, 0)

let data = CVPixelBufferGetBaseAddress(pixelBuffer)
let rgbColorSpace = CGColorSpaceCreateDeviceRGB()
let context = CGBitmapContextCreate(data, Int(self.outputSize.width), Int(self.outputSize.height), 8, CVPixelBufferGetBytesPerRow(pixelBuffer), rgbColorSpace, CGImageAlphaInfo.PremultipliedFirst.rawValue)

CGContextClearRect(context, CGRectMake(0, 0, CGFloat(self.outputSize.width), CGFloat(self.outputSize.height)))

let horizontalRatio = CGFloat(self.outputSize.width) / image.size.width
let verticalRatio = CGFloat(self.outputSize.height) / image.size.height
var ratio: CGFloat = 1

switch(contentMode) {
case .ScaleAspectFill:
  ratio = max(horizontalRatio, verticalRatio)
case .ScaleAspectFit:
  ratio = min(horizontalRatio, verticalRatio)
default:
  ratio = min(horizontalRatio, verticalRatio)
}

let newSize:CGSize = CGSizeMake(image.size.width * …
Run Code Online (Sandbox Code Playgroud)

nsimage cgimage swift

5
推荐指数
0
解决办法
213
查看次数

5
推荐指数
1
解决办法
59
查看次数