相关疑难解决方法(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万
查看次数

iOS PNG图像旋转90度

在我写的iOS应用程序中,我处理PNG因为我处理alpha通道.出于某种原因,我可以将PNG加载到我的imageView正常状态,但是当需要将图像从我的应用程序中复制出来(到PasteBoard上)或将图像保存到我的相机胶卷时,图像会旋转90度.

我在这里搜索过,我学到的一件事是,如果我使用JPEG,由于EXIF信息,我不会有这个问题(听起来).

我的应用程序具有完整的复制/粘贴功能,这里是踢球者(我会在步骤中编写它以便更容易理解):

  1. 转到我的相机胶卷并复制图像
  2. 进入我的应用程序并按"粘贴",图像粘贴就好了,我可以整天这样做
  3. 单击我实现的复制功能,然后单击"粘贴",图像粘贴但旋转.

我100%确定我的复制和粘贴代码没有错在这里,因为如果我回到上面的第2步,然后单击"保存",照片将保存到我的库,但它旋转了90度!

更奇怪的是它似乎与从互联网上下载的图像一起工作正常,但是我手动用手机拍摄的图像非常受欢迎.有些它有效,有些则不...

有没有人对此有任何想法?我可以使用任何可能的工作吗?我对代码非常有信心,因为它适用于大约75%的图像.我可以根据要求发布代码.

iphone png exif objective-c ios

26
推荐指数
4
解决办法
3万
查看次数

如何解决iOS中的视频定位问题

我正在使用一个应用程序,用户从照片中选择视频并将其上传到服务器.由于我的服务器是.Net服务器,因此视频会轮换.我知道问题的原因可能与图像的情况相同(你可以参考我之前的答案/sf/answers/742082281/),所以我用谷歌搜索并得到一个代码来修复视频方向,我从RayWenderlich.com获得代码并按以下方式修改.现在我的输出视频工作正常,但视频是静音.它播放但不播放音频.如果我遗失了什么,请帮助我.

我传递-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info方法的信息字典

- (void)fix:(NSDictionary*)pobjInfoDirectory withFileName:(NSString*)pstrOutputFileName
{
    firstAsset = [AVAsset assetWithURL:[pobjInfoDirectory objectForKey:UIImagePickerControllerMediaURL]];


    if(firstAsset !=nil)
    {
        //Create AVMutableComposition Object.This object will hold our multiple AVMutableCompositionTrack.
        AVMutableComposition* mixComposition = [[AVMutableComposition alloc] init];

        //VIDEO TRACK
        AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
        [firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, firstAsset.duration) ofTrack:[[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0] atTime:kCMTimeZero error:nil];

        AVMutableVideoCompositionInstruction * MainInstruction = [AVMutableVideoCompositionInstruction videoCompositionInstruction];

                MainInstruction.timeRange = CMTimeRangeMake(kCMTimeZero, firstAsset.duration);

        //FIXING ORIENTATION//
        AVMutableVideoCompositionLayerInstruction *FirstlayerInstruction = [AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:firstTrack];

        AVAssetTrack *FirstAssetTrack = [[firstAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];

        UIImageOrientation FirstAssetOrientation_  = …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios avasset

12
推荐指数
1
解决办法
4944
查看次数

UIImagePickerController返回错误的图像方向

我正在使用UIImagePickerController捕获图像然后存储它.但是,当我尝试重新缩放它时,我从该图像中获取的方向值不正确.当我拿着手机向上拍摄时,它会给我左手方向.有没有人遇到过这个问题?

UIImagePickerController字典显示以下信息:

{
    UIImagePickerControllerMediaMetadata =     {
        DPIHeight = 72;
        DPIWidth = 72;
        Orientation = 3;
        "{Exif}" =         {
            ApertureValue = "2.970853654340484";
            ColorSpace = 1;
            DateTimeDigitized = "2011:02:14 10:26:17";
            DateTimeOriginal = "2011:02:14 10:26:17";
            ExposureMode = 0;
            ExposureProgram = 2;
            ExposureTime = "0.06666666666666667";
            FNumber = "2.8";
            Flash = 32;
            FocalLength = "3.85";
            ISOSpeedRatings =             (
                125
            );
            MeteringMode = 1;
            PixelXDimension = 2048;
            PixelYDimension = 1536;
            SceneType = 1;
            SensingMethod = 2;
            Sharpness = 1;
            ShutterSpeedValue = "3.910431673351467";
            SubjectArea =             (
                1023, …
Run Code Online (Sandbox Code Playgroud)

scale orientation uiimagepickercontroller uiimage

11
推荐指数
3
解决办法
2万
查看次数

PHP getimagesize()混合了宽度和高度

我使用PHP脚本上传图像,然后使用PHP的getImageSize()获取尺寸,然后根据图片方向(纵向或横向)对图像进行处理.

然而(PHP版本5.4.12)在某些 .jpg文件中它获得了高度和宽度,并且在某些(用iPhone拍摄)它交换它们,认为肖像图片实际上是风景.
它不仅发生在我的本地Wampserver上,也发生在远程服务器上(具有不同的PHP版本).

有谁知道如何

1)修复这个或
2)找到解决问题的方法?

php orientation getimagesize

8
推荐指数
1
解决办法
1592
查看次数

以错误的方向保存图像

我正在使用AGImagepickerContoller可以保存相机胶卷中的多张图像,我将这种方式保存在successBlock:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,    NSUserDomainMask ,YES );
    NSString *documentsDir = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"oneSlotImages%u.png", i]];

    ALAssetRepresentation *rep = [[info objectAtIndex: i] defaultRepresentation];
    UIImage *image = [UIImage imageWithCGImage:[rep fullResolutionImage]];

    //----resize the images
    image = [self imageByScalingAndCroppingForSize:image toSize:CGSizeMake(256,256*image.size.height/image.size.width)];

    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:YES];
Run Code Online (Sandbox Code Playgroud)

我的问题是保存时,并在我的预览中加载.它看起来像这样: 在此输入图像描述

我想要的是在预览中这样:

在此输入图像描述

上传后我已经读过这个iOS UIImagePickerController结果图像方向.

但我不太明白我应该把它放在我的代码中.希望有人可以指导我的问题.谢谢.

iphone xcode ios

3
推荐指数
1
解决办法
5556
查看次数

上传到服务器的iOS UIImage被旋转

我正在使用以下代码将图像发送到Web服务器.它的工作原理是,图像在上传后因某种原因而被旋转.

这是我的上传方法:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

        [self dismissViewControllerAnimated:YES completion:nil];

        NSData *image = UIImageJPEGRepresentation([info objectForKey:UIImagePickerControllerOriginalImage], 0.1);

        // use token with url for json data from contents of url
        NSString *savedValue = [[NSUserDefaults standardUserDefaults]
                                stringForKey:@"token"];

        NSString *urlString = [NSString stringWithFormat:@"%@%@/photos?token=%@", kIDURLPhoto, listingId, savedValue];

        NSLog(@"urlstring for comment is %@",urlString);

        self.flUploadEngine = [[fileUploadEngine alloc] initWithHostName:urlString customHeaderFields:nil];

        NSMutableDictionary *postParams = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"image", @"caption", nil];

        self.flOperation = [self.flUploadEngine postDataToServer:postParams path:nil];
        [self.flOperation addData:image forKey:@"picture" mimeType:@"image/jpeg" fileName:@"upload.jpg"];

        [self.flOperation addCompletionHandler:^(MKNetworkOperation* operation) {
            NSLog(@"%@", [operation responseString]);

    // …
Run Code Online (Sandbox Code Playgroud)

objective-c uiimage ios

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

相机视图在 Swift 中旋转 90 度

当我在 Swift 中制作定制的相机应用程序时。但是当我尝试访问相机时,相机中的视图旋转了 90 度。我试图找到解决方案。我找到的一个解决方案是添加一个 fixOrientation 函数来修复视图。但不工作......这是我的完整代码:

let CIHueAdjust = "CIHueAdjust"
let CIHueAdjustFilter = CIFilter(name: "CIHueAdjust", withInputParameters: ["inputAngle" : 1.24])

let Filters = [CIHueAdjust: CIHueAdjustFilter]

let FilterNames = [String](Filters.keys).sort()

class LiveCamViewController : UIViewController,AVCaptureVideoDataOutputSampleBufferDelegate{
let mainGroup = UIStackView()
let imageView = UIImageView(frame: CGRectZero)
let filtersControl = UISegmentedControl(items: FilterNames)

override func viewDidLoad()
{
    super.viewDidLoad()

    view.addSubview(mainGroup)
    mainGroup.axis = UILayoutConstraintAxis.Vertical
    mainGroup.distribution = UIStackViewDistribution.Fill

    mainGroup.addArrangedSubview(imageView)
    mainGroup.addArrangedSubview(filtersControl)

    imageView.contentMode = UIViewContentMode.ScaleAspectFit

    filtersControl.selectedSegmentIndex = 0

    let captureSession = AVCaptureSession()
    captureSession.sessionPreset = AVCaptureSessionPresetPhoto

    let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

    do
    { …
Run Code Online (Sandbox Code Playgroud)

iphone camera uiimagepickercontroller ios swift

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