相关疑难解决方法(0)

iOS UIImagePickerController上传后的结果图像方向

我在iOS 3.1.3 iPhone上测试我的iPhone应用程序.我使用以下方法选择/捕获图像UIImagePickerController:

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self.navigationController presentModalViewController:imagePicker animated:YES];
[imagePicker release];



- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    self.image = [info objectForKey:UIImagePickerControllerOriginalImage];
    imageView.image = self.image;
    [self.navigationController dismissModalViewControllerAnimated:YES];
    submitButton.enabled = YES;
}
Run Code Online (Sandbox Code Playgroud)

然后我在某个时候使用ASI类将它发送到我的Web服务器:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://example.com/myscript.php"]];
[request setDelegate:self];
[request setStringEncoding:NSUTF8StringEncoding];
[request setShouldContinueWhenAppEntersBackground:YES];
//other post keys/values
[request setFile:UIImageJPEGRepresentation(self.image, 100.0f) withFileName:[NSString stringWithFormat:@"%d.jpg", [[NSDate date] timeIntervalSinceNow]] andContentType:@"image/jpg" forKey:@"imageFile"];
[request startAsynchronous];
Run Code Online (Sandbox Code Playgroud)

问题:当我用iphone拍照同时保持它的风景时,图像会上传到服务器并按照你的预期进行查看.当拍摄手机拍照时,图像会被上传并在旋转90度时被观看.

我的应用程序设置为仅在纵向模式下工作(颠倒和常规).

如何在上传后使图像始终显示正确的方向?

UIImageView中显示的图像看起来是正确的(在拍照后直接显示),但在服务器上查看则另有说明.

iphone cocoa-touch uiimagepickercontroller uiimage ios

327
推荐指数
11
解决办法
13万
查看次数

我如何在iPhone上以编程方式为图像着色?

我想用颜色参考着色图像.结果应该类似于Photoshop中的"乘法"混合模式,其中白色将替换为色调:

替代文字

我会不断改变颜色值.

跟进:我会把代码放在我的ImageView的drawRect:方法中,对吗?

与往常一样,代码片段将极大地帮助我理解,而不是链接.

更新:使用Ramin建议的代码对UIImageView进行子类化.

我把它放在viewDidLoad中:我的视图控制器:

[self.lena setImage:[UIImage imageNamed:kImageName]];
[self.lena setOverlayColor:[UIColor blueColor]];
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud)

我看到了图像,但没有被染色.我还尝试加载其他图像,在IB中设置图像,并在我的视图控制器中调用setNeedsDisplay:

更新:drawRect:未被调用.

最后更新:我找到了一个正确设置了imageView的旧项目,所以我可以测试Ramin的代码,它就像一个魅力!

最后的最后更新:

对于那些刚学习Core Graphics的人来说,这是最简单的事情.

在您的子类UIView中:

- (void)drawRect:(CGRect)rect {

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColor(context, CGColorGetComponents([UIColor colorWithRed:0.5 green:0.5 blue:0 alpha:1].CGColor)); // don't make color too saturated

    CGContextFillRect(context, rect); // draw base

    [[UIImage imageNamed:@"someImage.png"] drawInRect: rect blendMode:kCGBlendModeOverlay alpha:1.0]; // draw image
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch tint image-processing uiimage ios

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

25
推荐指数
2
解决办法
6万
查看次数

如何旋转UIImage

我正在为iPad开发iOS应用程序.有没有办法旋转UIImage90º然后将其添加到UIImageView?我尝试了很多不同的代码,但都没有工作......

谢谢!

objective-c uiimageview uiimage ipad ios6

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

从旋转的UIImageView创建UIImage

我有一个UIImageView,里面有一个图像.我通过将UIImageView的transform属性设置为CGAffineTransformMakeRotation(angle),在显示之前旋转了图像,其中angle是以弧度表示的角度.

我希望能够创建另一个UIImage,它对应于我在视图中可以看到的旋转版本.

我几乎在那里,通过旋转图像上下文我得到一个旋转的图像:

- (UIImage *) rotatedImageFromImageView: (UIImageView *) imageView
{
    UIImage *rotatedImage;

    // Get image width, height of the bounding rectangle
    CGRect boundingRect = [self getBoundingRectAfterRotation: imageView.bounds byAngle:angle];

    // Create a graphics context the size of the bounding rectangle
    UIGraphicsBeginImageContext(boundingRect.size);
    CGContextRef context = UIGraphicsGetCurrentContext();

    // Rotate and translate the context
    CGAffineTransform ourTransform = CGAffineTransformIdentity;
    ourTransform = CGAffineTransformConcat(ourTransform, CGAffineTransformMakeRotation(angle));

    CGContextConcatCTM(context, ourTransform);

    // Draw the image into the context
    CGContextDrawImage(context, CGRectMake(0, 0, imageView.image.size.width, imageView.image.size.height), imageView.image.CGImage);

    // Get an image from the …
Run Code Online (Sandbox Code Playgroud)

rotation uiimageview uiimage graphicscontext

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

在UIImagePicker中禁用旋转

您好我需要禁用UIImagePicker的旋转.
如果用户在iPhone处于"风景"时拍照,则按钮将旋转并且拍摄的照片也将旋转.我想禁用该选项,因此加速度计将无法工作,它将始终像纵向模式一样拍照.
我怎样才能做到这一点?
谢谢,Matan Radomski.

iphone objective-c uiimagepickercontroller ios5

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

在Swift中裁剪UIImage的问题

我正在编写一个带有图像的应用程序,除了图像中心的矩形外,还可以裁剪掉所有内容.(SWIFT)我无法让裁剪功能起作用.这就是我现在拥有的:

func cropImageToBars(image: UIImage) -> UIImage {
     let crop = CGRectMake(0, 200, image.size.width, 50)

     let cgImage = CGImageCreateWithImageInRect(image.CGImage, crop)
     let result: UIImage = UIImage(CGImage: cgImage!, scale: 0, orientation: image.imageOrientation)

     UIImageWriteToSavedPhotosAlbum(result, self, nil, nil)

     return result
  }
Run Code Online (Sandbox Code Playgroud)

我看了很多不同的指南,但似乎没有一个对我有用.有时图像旋转90度,我不知道它为什么这样做.

crop uiimage ios swift

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

是否必须释放CGImageGetColorSpace(图像)的结果?

我正在缩放CGImageRef.我在网上发现了各种代码示例:

CGColorSpaceRef colorspace = CGImageGetColorSpace(image); // "Get" color space

CGContextRef context = CGBitmapContextCreate(NULL, width, height,
    CGImageGetBitsPerComponent(image),
    CGImageGetBytesPerRow(image),
    colorspace,
    CGImageGetAlphaInfo(image));

CGColorSpaceRelease(colorspace); // Really?
Run Code Online (Sandbox Code Playgroud)

如上所示,colorspace已发布.但是,当我这样做时,我的代码大部分时间都在工作,但偶尔崩溃一次,因为有时那个色彩空间实例已经消失了.API文档说:

您有责任根据需要保留和释放色彩空间.

这是否意味着我必须释放它?我假设约定只是Create名称中带有" " 的调用的结果返回必须明确释放的对象.这是否意味着在发布时网络上的示例是完全错误的CGColorSpaceRef

cocoa memory-management core-graphics objective-c cgcolorspace

9
推荐指数
1
解决办法
3857
查看次数

任何缩小UIImage的代码/库?

有没有可以帮助我缩小图像的代码或库?如果你用iPhone拍照,它就像2000x1000像素,不是很友好.我想把它缩小到480x320.任何提示?

iphone graphics

4
推荐指数
1
解决办法
3330
查看次数

使用 imagePicker 时 ImageView 旋转

我有一个表格视图,在单元格中,有一个图像和 2 个标签。我正在使用imagePicker从我的相机胶卷中选择一张照片并将该照片放入单元格图像中。但是,当照片是人像模式照片时,图像会旋转 90 度。

在下面的代码中,posting 是一个连接到imageview表视图单元格中的插座,我初始化了一个UIImagePickerController.

class MakePostVC: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

@IBOutlet weak var postImg: UIImageView!
@IBOutlet weak var postTitle: UITextField!
@IBOutlet weak var postDescrip: UITextField!

var imgPicker: UIImagePickerController!

override func viewDidLoad() {
    super.viewDidLoad()

    postImg.layer.cornerRadius = 30
    postImg.clipsToBounds = true

    imgPicker = UIImagePickerController()
    imgPicker.delegate = self

}
Run Code Online (Sandbox Code Playgroud)

这是我的功能didFinishPickingImage

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    imgPicker.dismissViewControllerAnimated(true, completion: nil)
    postImg.image = image
}
Run Code Online (Sandbox Code Playgroud)

我在 SO 上看过类似的帖子,但解决方案似乎不起作用。
有什么建议? …

iphone xcode uikit ios swift

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

旋转UIImage

我试图弄清楚如何旋转图像视图的图像并确定它面向的方向.

我知道我可以像这样旋转UIImageView

imagView.transform = CGAffineTransformMakeRotation(1.57079633);
Run Code Online (Sandbox Code Playgroud)

objective-c rotation uiimageview uiimage ios

0
推荐指数
1
解决办法
735
查看次数