2013-03-19 32 views
5

Tôi gặp phải sự cố khi làm việc trên màn hình võng mạc. Kích thước NSImage là chính xác, nhưng nếu tôi tạo NSBitmapImageRep từ nó và ghi nó vào tập tin tôi nhận được kích thước của phù thủy hình ảnh là gấp đôi lớn như hình ảnh gốc. Không có vấn đề như vậy khi tôi sử dụng nó trên màn hình không võng mạc.Các vấn đề hiển thị võng mạc khi làm việc với hình ảnh

  • tôi tạo NSImage từ tập tin (1920x1080)
  • tôi làm một số bản vẽ trên
  • tôi tạo NSBitmapImageRep từ hình ảnh với bản vẽ
  • tôi viết nó để nộp
  • tôi nhận được hình ảnh với 3840x2160 kích thước

Điều gì có thể gây ra điều đó?



Nếu tôi mở hình ảnh và lưu nó mà không cần chỉnh sửa tôi nhận được đúng kích thước hình ảnh

NSImage *imageFromFile = [[NSImage alloc] initWithContentsOfURL:fileURL]; 
NSBitmapImageRep *newRepresentation = [[NSBitmapImageRep imageRepsWithData:[imageFromFile TIFFRepresentation]]; 
NSData *savingData = [newRepresentation representationUsingType: NSPNGFileType properties: nil]; 
[savingData writeToFile:desiredFileLocationAndName atomically:no]; 
+0

Kiểm tra câu trả lời này. http://stackoverflow.com/a/17510651/1159775 – hebinda

Trả lời

0

Một đại diện bitmap của hình ảnh được đo bằng pixel. Nó gấp đôi kích thước. NSImage cung cấp cho bạn kích thước theo điểm mà trên các thiết bị võng mạc đo 2 điểm ảnh trên mỗi điểm. Không có gì sai với những gì nó mang lại cho bạn.

+0

Có điều gì đó đặc biệt mà bạn cần phải làm là các chiều kích mới đang gây khó khăn không? –

+0

Vấn đề là khi tôi mở hình ảnh và xử lý nó với ứng dụng của tôi, sau đó khi tôi lưu hình ảnh tôi nhận được nó lớn gấp đôi so với trước đây tính bằng pixel. Và tôi cần phải duy trì kích thước hình ảnh gốc. – hockeyman

+0

Bạn có thể đăng mã bạn đang sử dụng cho từng bước đó hay không. Tôi nghĩ rằng có một lá cờ bạn có thể thiết lập để tránh vấn đề đó. –

Các vấn đề liên quan