- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 iPhone 前置摄像头的应用程序。当使用该相机拍摄图像时,iPhone 会水平扭曲图像。我想将其镜像回来,以便能够保存它并按照在 iPhone 屏幕上看到的方式显示它。
我读了很多文档,在网上也看了很多建议,但我仍然很困惑。
经过我的研究和多次尝试,我发现了适用于保存和显示的解决方案:
- (UIImage *) flipImageLeftRight:(UIImage *)originalImage {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:originalImage];
UIGraphicsBeginImageContext(tempImageView.frame.size);
CGContextRef ngữ cảnh = UIGraphicsGetCurrentContext();
CGAffineTransform flipVertical = CGAffineTransformMake(
1, 0,
0, -1,
0, tempImageView.frame.size.height
);
CGContextConcatCTM(context, flipVertical);
[tempImageView.layer renderInContext:context];
UIImage *flipedImage = UIGraphicsGetImageFromCurrentImageContext();
flipedImage = [UIImage imageWithCGImage:flipedImage.CGImage scale:1.0 orientation:UIImageOrientationDown];
UIGraphicsEndImageContext();
[tempImageView release];
return flipedImage;
}
但这是一种盲目的使用,我不明白做了什么。
我尝试使用 2 imageWithCGImage 对其进行镜像,然后将其旋转 180°,但这由于任何神秘的原因不起作用。
所以我的问题是:你能帮我编写一个可行的优化方法,并且我能够理解它是如何工作的。矩阵对我来说是一个黑洞......
1 Câu trả lời
如果这个矩阵太神秘,也许将其分成两个步骤会更容易理解:
CGContextRef ngữ cảnh = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(context, 0, tempImageView.frame.size.height);
CGContextScaleCTM(context, 1, -1);
[tempImageView.layer renderInContext:context];
变换矩阵从头到尾应用。最初, Canvas 向上移动,然后图像的 y 坐标全部取负:
+----+
| |
| A |
+----+ o----+ o----+
| | | ∀ |
| A | --> --> | |
o----+ +----+
x=x x=x
y=y+h y=-y
改变坐标的两个公式可以合二为一:
x = x
y = -y + h
您制作的 CGAffineTransformMake 代表了这一点。基本上,对于 CGAffineTransformMake(a,b,c,d,e,f)
,它对应于
x = a*x + c*y + e
y = b*x + d*y + f
Xem thêmhttp://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html有关 Core Graphics 中 2D 仿射变换的更多信息。
关于iPhone - 翻转 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5532781/
Tôi có một tập dữ liệu trong đó tôi đang cố gắng khám phá tác động của việc giới hạn một biến ở một giá trị nhất định và chuyển phần thừa sang các khoảng tiếp theo. Về mặt khái niệm, tôi có thể thấy một số cách để thực hiện điều này bằng cách sử dụng cumsum(). hoặc tương tự, nhưng đang gặp khó khăn trong việc hiểu cách thực hiện điều này theo cách hợp lý
Tôi đang phát triển một ứng dụng sử dụng camera trước của iPhone. Khi chụp ảnh bằng camera này, iPhone sẽ làm méo hình ảnh theo chiều ngang. Tôi muốn phản chiếu nó lại để có thể lưu và hiển thị theo cách tôi thấy trên màn hình iPhone. Tôi đọc rất nhiều
Đây là HTML //thứ ở đây Order/
Tôi đang sử dụng Jquery - có cách nào dễ dàng để thay đổi màu nền của div khi người dùng trượt qua không? Câu trả lời hay nhất Bạn có thể thực hiện điều này bằng CSS: #myDiv:hover { background-color
Có ai biết liệu có thể lật ngược hình ảnh và hiển thị nội dung ở mặt sau không? Ý tôi là: Hãy tưởng tượng bạn đang cầm một bức chân dung trên tay. Sau đó, bạn lật nó lại và nhìn vào mặt sau của bức chân dung, bạn sẽ thấy có dòng chữ ở đó. Tôi đang tìm kiếm thứ gì đó tương tự khi nhấp vào hình ảnh sẽ phản chiếu/lật hình ảnh sang phía bên kia có chữ trên đó. Số 90
Tôi đang gặp một số vấn đề với việc chuyển trang.. hy vọng bạn có thể giúp tôi! Tôi đang sử dụng li nav và tôi muốn có các hộp riêng biệt liên kết đến các trang khác nhau. Phần này ổn và hoạt động tốt. Tôi muốn có thể di chuột qua hộp và làm cho hộp và liên kết đổi màu. Tôi có thể thay đổi mà không có vấn đề gì
Vì vậy, hiện tại tôi có một thành phần trong Vuejs nơi người dùng có thể chọn một tệp từ hệ thống tệp cục bộ của họ. Sau khi người dùng chọn một hình ảnh, hình ảnh được xem trước trong div codesandbox. Vì một số lý do, một số hình ảnh tự động "lật" sang một bên
Tôi có một menu cuộn ở trên cùng. Tôi đang cố gắng làm sao cho hình nền của tôi (17px x 13px) được căn giữa khi di chuột qua. Tôi đã thử tất cả các thuộc tính css nền nhưng có vẻ như không có cách nào hiệu quả. Tôi có đang sử dụng sai phương pháp không? Đây là CSS của tôi:
Tôi đã từng sử dụng hiệu ứng này trước đây và mọi thứ đều hoạt động tốt (theo như tôi thấy), nhưng giờ thì nó không có tác dụng. Tôi đang bỏ lỡ điều gì? Fiddle ở đây Sprite ở đây Cảm ơn. Câu trả lời hay nhất Vì các sprite của bạn được sắp xếp theo chiều ngang, bạn cần bù trừ trạng thái di chuột như thế này
Mã bạn làm theo không hoạt động vì refind chấp nhận một chuỗi làm đối số đầu tiên và một biểu thức chính quy làm đối số thứ hai. (-> "hello" .toUpperCase (tìm lại #".$")) Nếu tôi làm điều này
Tôi muốn lật một UILabel bằng CABasicAnimation. Hoạt ảnh sẽ lặp lại mãi mãi và sẽ thay đổi văn bản của UILabel giữa hai giá trị khác nhau. - (void)animateLabel { [bản thân
Xoay hình ảnh WPF khá đơn giản: imgCurrent.LayoutTransform = new RotateTransform(_rotationAngle); Thế còn phản chiếu theo chiều ngang và chiều dọc thì sao? Ngoài máy: Trong GDI
Tôi cần tạo một hình ảnh động - lật một Chế độ xem và hiển thị một Chế độ xem khác. Chiều rộng của Chế độ xem hiện đang hiển thị sẽ giảm dần xuống 0 và sau đó chiều rộng của Chế độ xem sẽ hiển thị phải tăng dần từ 0. Trong thời gian này, chiều cao thay đổi từ chiều cao hiện đang hiển thị sang chiều cao giảm đi một chút
Tôi đang cố tìm cách nhanh nhất để đảo ngược giá trị boolean trong Rust? Nghĩa là, false => true true => false Đối với ứng dụng của tôi, tôi không quan tâm đến giá trị hiện tại của boolean, chỉ cần nó đã bị lật ngược. Phải
Có thể lật một bảng dữ liệu trong primefaces để phần tiêu đề nằm bên trái thay vì ở trên cùng không? Tôi có bảng sau: Như bạn có thể thấy
Tôi đang gặp một số vấn đề khi lật một View. Tôi có đoạn mã sau trong View Controller của mình: - (void)loadFlipsideViewController { ProblemViewFl
Tôi đang sử dụng hoạt ảnh lật để tạo hiệu ứng chuyển động giữa hai Chế độ xem trong Bộ điều khiển chế độ xem. Vấn đề là phần nền sẽ hiển thị một nền trắng trống trong khi hoạt ảnh đang diễn ra. Tôi muốn hiển thị nền đen. Tôi đã thử thiết lập màu nền của chế độ xem chính thành màu đen trong cả IB và trong mã.
Hãy xem xét đoạn mã bên dưới và cho tôi biết tôi đã làm sai ở đâu. Tôi muốn chuyển đổi giữa hai UIView. Không hiểu sao khi tôi lật từ View ban đầu, tôi chỉ nhận được View đã lật, không có hoạt ảnh. Khi tôi lật lại, hình ảnh động hiển thị hoàn toàn bình thường. Lật là
Tôi có một NSScrollView trong đó tôi cần hiển thị số lượng NSView khác nhau. Tôi đã tạo một NSView tùy chỉnh có isFlipped trả về YES và đặt NSView của tôi vào đó, sau đó đặt thành
Tôi có một lớp con của NSView triển khai lại nhiều hàm sự kiện chuột. Ví dụ, trong mouseDown để lấy điểm từ NSEvent tôi sử dụng: NSEvent *theEvent; // <- đối số
Tôi là một lập trình viên xuất sắc, rất giỏi!