• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 在横向时如何将 GPUImageView 图像顺时针旋转 90 度?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 16:14:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在使用 GPUImage 创建照片应用程序,相关应用程序始终处于横向模式。我想知道如何将显示的图像顺时针旋转 90 度,因为目前它的方向不正确。

我尝试更改以下行,但它抛出了裁剪。

 _stillCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

这是我目前使用的代码。

[_stillCamera stopCameraCapture];

if([UIScreen mainScreen].bounds.size.width == 667){

    if(cameraPosition == 1){

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1920x1080 cameraPosition:AVCaptureDevicePositionBack];

    }else {

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1920x1080 cameraPosition:AVCaptureDevicePositionFront];

    }

}
else if([UIScreen mainScreen].bounds.size.width == 568){

    if(cameraPosition == 1){

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1280x720 cameraPosition:AVCaptureDevicePositionBack];

    }else {

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset1280x720 cameraPosition:AVCaptureDevicePositionFront];

    }

} else{

    if(cameraPosition == 1){

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];

    }else {

        _stillCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionFront];

    }

}

_stillCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

_cropFilter = [[GPUImageCropFilter alloc] initWithCropRegion:CGRectMake(0.f, 0.125f, 1.f, .75f)];


self.lookupImageSource = [[GPUImagePicture alloc] initWithImage:[UIImage imageNamed"LondonTown2.png"]];
[self.lookupImageSource processImage];

self.filterLookup = [[GPUImageLookupFilter alloc] init];
[self.lookupImageSource addTarget:self.filterLookup atTextureLocation:1];



[_stillCamera addTarget:self.filterLookup];
[self.filterLookup addTarget:_cropFilter];








[_filterViewViewFinder setFillMode:kGPUImageFillModePreserveAspectRatioAndFill];

//[_stillCamera addTarget:_cropFilter];
//[_cropFilter addTarget:_filter];

[_cropFilter addTarget:_filterView];
[_cropFilter addTarget:_filterViewViewFinder];

[_stillCamera startCameraCapture];



Best Answer-推荐答案


您可以通过以下代码旋转您的 GPUImageView 图片。

[self.filterLookup setInputRotation:kGPUImageRotateRight atIndex:0];

不同的InputRotation模式如下。

kGPUImageNoRotation, 
kGPUImageRotateLeft, 
kGPUImageRotateRight,
kGPUImageFlipVertical, 
kGPUImageFlipHorizonal,
kGPUImageRotateRightFlipVertical,
kGPUImageRotateRightFlipHorizontal,
kGPUImageRotate180

希望这会有所帮助。

关于ios - 在横向时如何将 GPUImageView 图像顺时针旋转 90 度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32457231/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap