Tôi đang thử xử lý một hình ảnh trong CoreGraphics và sau đó trả lại hình ảnh đã xử lý trở lại NSImage
để lưu và hiển thị. Tôi có nhiều tài nguyên về cách thực hiện các chức năng này trong iOS nhưng các phương thức trợ giúp dường như bị thiếu trong NSImage
. Trong iOS, phương thức lớp là imageWithCGImage:
, bạn có thể làm điều này như thế nào trong Mac OS?Nhận NSImage từ CGImageRef
24
A
Trả lời
42
Phương thức đối sánh trong NSImage là initWithCGImage:size:
.
Đối số thứ hai có kích thước của hình ảnh theo điểm. Yếu tố giữa kích thước tính bằng pixel (của CGImage) và kích thước theo điểm là hệ số tỷ lệ. Vì vậy, ví dụ, nếu bạn có một CGImage 100 × 100px, và vượt qua một kích thước của (NSSize){ 50.0, 50.0 }
, hình ảnh sẽ có kích thước 50 điểm và độ phân giải gấp đôi.
Thông thường, bạn chỉ cần chuyển kích thước bằng pixel (từ CGImage) làm kích thước theo điểm. Để xử lý nhiều yếu tố tỷ lệ, tốt hơn nên sử dụng một NSImage đơn với nhiều NSImageRep, giống như những gì bạn nhận được từ -[NSWorkspace iconForFileType:]
cho hầu hết các loại hoặc từ việc tạo một NSImage từ một tệp .icns điển hình.
Các vấn đề liên quan
- 1. Nhận NSImage từ NSProgressIndicator
- 2. Tạo NSImage từ NSColor
- 3. Nhận điểm ảnh và màu sắc từ NSImage
- 4. CVPixelBufferRef tới NSImage
- 5. NSImage to NSBitmapImageRep
- 6. Chuyển đổi CIImage thành NSImage
- 7. Làm thế nào để đổ CALayer vào CGImageRef?
- 8. Lưu CGImageRef vào tệp png?
- 9. Flip NSImage trên cả hai trục
- 10. UIImage được tạo từ CGImageRef không thành công với UIImagePNGRepresentation
- 11. Cách lưu tập tin PNG từ NSImage (các vấn đề về võng mạc)
- 12. NSImage to Base64
- 13. NSImage không quy mô
- 14. resizableImageWithCapInsets for NSImage?
- 15. Cách đọc hình ảnh PNG tới NSImage
- 16. Xem trước nhanh trên Mac trong NSView hoặc NSImage?
- 17. Làm thế nào để có được một CGImageRef từ nội dung của một UIView?
- 18. Cách chính xác để tạo một CGImageRef từ một hình ảnh trên đĩa
- 19. NSImage so với CIImage so với CGImage?
- 20. NSImage to cv :: Mat và ngược lại
- 21. Đang cố gắng để biến [NSImage imageNamed: NSImageNameUser] vào NSData
- 22. Làm thế nào để có được một CGImageRef từ các hình ảnh được vẽ theo ngữ cảnh?
- 23. Lưu trữ một NSImage trong Mô hình Dữ liệu Chính
- 24. Sự khác nhau giữa NSImage và UIImage là gì?
- 25. NSImage và võng mạc trưng bày nhầm lẫn
- 26. Thiết lập nội dung của một CALayer đến một CGImageRef trên iOS với ARC trên
- 27. Cách tải NSImage của biểu tượng thư mục chung trên OS X 10.5 và 10.6
- 28. Tự động chia tỷ lệ của TIFF NSImage trong một CALayer
- 29. Làm cách nào để tải biểu tượng NSImage của biểu tượng cho ứng dụng của tôi?
- 30. Làm cách nào để tổng hợp một số hình ảnh NSImage thành một hình ảnh lớn?
NSZeroSize là viết tắt của "cùng kích thước với CGImage". – Ken
@Ken Cảm ơn Ken là thông tin chính! –