- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个接受 Giao diện người dùng
的类,用它初始化一个 CIImage
,如下所示:
workingImage = CIImage.init(image: baseImage!)
然后使用图像以 3x3 的模式从中裁剪出 9 个相邻的正方形 - 在一个循环中:
for x in 0..<3
{
for y in 0..<3
{
croppingRect = CGRect(x: CGFloat(Double(x) * sideLength + startPointX),
y: CGFloat(Double(y) * sideLength + startPointY),
width: CGFloat(sideLength),
height: CGFloat(sideLength))
let tmpImg = (workingImage?.cropping(to: croppingRect))!
}
}
那些 tmpImgs 被插入到一个表中并稍后使用,但这不是重点。
此代码适用于 IOS 9
Và IOS 10
模拟器,但不适用于实际 IOS 10 设备
.生成的图像要么全是空的,要么其中一个像它应该是的一半,其余的又是空的。
IOS 10
不应该这样做吗?
câu trả lời hay nhất
问题的核心是通过 CIImage 不是裁剪 UIImage 的方式。一方面,从 CIImage 回到 UIImage 是一件复杂的事情。另一方面,整个往返行程是不必要的。
要裁剪图像,创建所需裁剪大小的图像图形上下文,并在 UIImage 上调用 draw(at:)
以在相对于图形上下文的所需点绘制它,以便图像的所需部分落入上下文中。现在提取生成的新图像并关闭上下文。
为了演示,我将裁剪到您要裁剪到的三分之一中的一个,即右下三分之一:
let sz = baseImage.size
UIGraphicsBeginImageContextWithOptions(
CGSize(width:sz.width/3.0, height:sz.height/3.0),
false, 0)
baseImage.draw(at:CGPoint(x: -sz.width/3.0*2.0, y: -sz.height/3.0*2.0))
let tmpImg = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
原始图像(baseImage
):
裁剪图像(tmpImg
):
其他部分完全平行。
关于ios - 裁剪 CIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40792409/
Làm thế nào để một thiết bị IO biết rằng giá trị trong bộ nhớ thuộc về nó đã thay đổi trong IO được ánh xạ vào bộ nhớ? ? Ví dụ: giả sử rằng địa chỉ bộ nhớ 0 được dành riêng để giữ màu nền của thiết bị VGA. Khi chúng ta thay đổi giá trị trong bộ nhớ[0], VGA
Tôi hiện đang phát triển một ứng dụng iOS sử dụng sdk Facebook để đăng nhập (thông qua FBLoginView). Mọi thứ đều hoạt động tốt ngoại trừ những người có phiên bản facebook cũ hơn. Khi họ nhấn nút "Đăng nhập bằng Facebook", anh ấy
Giả sử tôi có: đây - là một - ví dụ - với một số - dấu gạch ngangNSRange sẽ chọn phiên bản đầu tiên của "-" bằng cách sử dụng `rangeOfString:@"-", nhưng nếu tôi chỉ muốn phiên bản cuối cùng
Card.io SDK cung cấp các thông tin chi tiết sau: số thẻ, ngày hết hạn, tháng, năm, CVV và mã bưu chính. Làm cách nào tôi có thể lấy tên quốc gia từ SDK này. - (void)userDidProvideCreditCardInfo:(Ô tô
Làm cách nào để ứng dụng iOS tải xuống hình ảnh từ dịch vụ web và cài đặt chúng trên thiết bị iOS của người dùng trong quá trình cài đặt? Có thể được không? Câu trả lời hay nhất Bạn không có quyền kiểm soát việc cài đặt ứng dụng trên thiết bị của người dùng, do đó không thể tải xuống dữ liệu bổ sung trong quá trình cài đặt. Chỉ cần khởi chạy ứng dụng lần đầu tiên sau khi cài đặt
Tôi đã từng phát triển một sản phẩm iOS dành cho doanh nghiệp mà công ty chúng tôi đã bán cho các doanh nghiệp lớn để nhân viên của họ sử dụng. Ứng dụng này có sẵn thông qua AppStore và người dùng doanh nghiệp được cung cấp hồ sơ dành riêng cho công ty (chứa hồ sơ ứng dụng) để cho phép
Tôi đang cố gắng tích hợp SDK Card.io vào ứng dụng iOS của mình. Tôi muốn thực hiện một bản địa hóa đơn giản cho giao diện người dùng CardIO, chẳng hạn như thay đổi tiêu đề nút hủy hoặc văn bản nhắc "Giữ thẻ tín dụng của bạn ở đây". Tôi tìm thấy cái này trên github
Tôi đang sử dụng các lớp CardIOView và CardIOViewDelegate và không có BOOL nào có thể được đặt thành CÓ để quét collCardholderName. Tôi có thể thấy nó trong CardIOP
Tôi có một ứng dụng voip được tích hợp với bộ công cụ gọi điện. Mỗi lần tôi gọi từ ứng dụng voip của mình, một bản ghi cuộc gọi mới gần đây sẽ được tạo trong ứng dụng điện thoại gốc. Tôi cũng có danh bạ tùy chỉnh trong ứng dụng voip (điện thoại nên
Làm cách nào để ứng dụng iOS biết đã có bàn phím trên màn hình khi ứng dụng được mở? Sau khi ứng dụng đang chạy, nó có thể nhận được thông báo hiển thị/ẩn bàn phím. Tuy nhiên, nếu ứng dụng được mở dưới dạng ứng dụng phụ ở chế độ chia đôi màn hình và ứng dụng chính đã hiển thị bàn phím thì ứng dụng phụ sẽ không hiển thị
Tôi gặp lỗi sau trong trình mô phỏng: ImageIO: CGImageReadSessionGetCachedImageBlockData *** CGImageReadSessionGetCachedIm
Như được trình bày trong tài liệu của Apple, việc giao tiếp với các phụ kiện được chứng nhận (được Apple chứng nhận) có thể được thực hiện thông qua EAAccessory Framework. Nhưng tôi hơi bối rối vì một số bài đăng cho tôi biết nó cũng hoạt động qua CoreBluetoo
Mặc dù các trình gỡ lỗi ngày nay rất tốt nhưng đôi khi cách tốt nhất để tìm hiểu những gì đang diễn ra trong ứng dụng của bạn vẫn là NSLog cũ. Việc này thật dễ dàng khi bạn kết nối với máy tính; Xcode sẽ giúp bật lên bảng Log Viewer và bạn đã sẵn sàng. khi bạn không ở nơi làm việc
Trong ứng dụng iOS của tôi, tôi xác định một số điểm ưa thích. Một số trong số chúng có tên là đèn hiệu Kontakt.io, được liên kết với một PoI cụ thể (ý tôi là tên thường được gắn vào nhãn đèn hiệu). Bây giờ tôi muốn khám phá các đèn hiệu gần đó,
Tôi đang tạo plugin trigger.io để nhận lời nhắc cảnh báo. Cố gắng trả lại dữ liệu từ lời nhắc cảnh báo. Đây là mã của tôi: // Nhắc + (void)show_Prompt:(ForgeTask*)task{
Xin chào, tôi mới làm quen với Apple iOS. Mình đã đọc và tìm kiếm rất nhiều bài viết về thông báo đẩy nhưng không tìm thấy thông tin nào về các bản cập nhật mới của APNS từ io4 lên ios 6. Ai có thể cung cấp cho tôi APNS cách thực hiện trong ios không
Chiều cao của UITabBar dường như đã thay đổi giữa iOS 7 và 8/9/10/11. Tôi đăng câu hỏi này để giúp người khác dễ dàng tìm thấy câu trả lời. Sau đó: iOS 8/9/10/11 trên iPhone và iPad
Tôi nghĩ tôi có thể sử dụng các Bảng phân cảnh khác nhau cho các phiên bản iOS khác nhau. Do có sự khác biệt về UI nên mình sẽ tạo Storyboard tiếp theo: Main_iPhone.storyboard Main_iPad.st
Tôi đang viết nội dung nào đó trong đó tôi sẽ sử dụng một phần bản âm thanh từ thư viện iTunes của thiết bị để phủ lên sự kết hợp của 2 video, ví dụ: AVMutableComposition* mixComposition = [[AVMutableC
Tôi đã tạo một chương trình iOS đơn giản có khả năng biên dịch mượt mà và chạy tốt trên trình mô phỏng iPad. Chương trình tương tự không biên dịch được khi tôi yêu cầu XCode 4 sử dụng thiết bị iPad được kết nối của mình. Có vẻ như vấn đề xảy ra khi tôi cố gắng sử dụng iPad kèm theo
Tôi là một lập trình viên xuất sắc, rất giỏi!