Được rồi, tôi có một hình ảnh đến từ một ứng dụng bên ngoài theo định dạng được lập chỉ mục 8 bit. Tôi cần hình ảnh này được chuyển đổi sang định dạng 24 bit có cùng kích thước.Chuyển đổi từ một Format8bppIndexed sang một Format24bppRgb trong C#/GDI +
Tôi đã thử tạo một Bitmap mới có cùng kích thước và loại Format24bppRgb và sau đó sử dụng đối tượng Đồ họa để vẽ hình ảnh 8 bit trên đó trước khi lưu nó dưới dạng Bmp. Cách tiếp cận này không lỗi nhưng khi tôi mở hình ảnh kết quả, tiêu đề BMP có tất cả các loại giá trị sôi nổi. Chiều cao và chiều rộng là HUGE và, ngoài ra, còn có các giá trị vui nhộn (và lớn) cho các cờ nén và một vài giá trị khác. Rất tiếc, các yêu cầu cụ thể của tôi là chuyển tệp này đến trình điều khiển máy in cụ thể yêu cầu hình ảnh 24 bit với các giá trị tiêu đề cụ thể (mà tôi đang cố gắng đạt được thông qua GDI +)
Bất kỳ ai biết ví dụ về "up- chuyển đổi "tệp được lập chỉ mục thành tệp 24-bit không được lập chỉ mục? Nếu không phải là một ví dụ, tôi nên bắt đầu viết con đường nào?
-Kevin Grossnicklaus [email protected]
Bạn có thể bao gồm g.PageUnit = GraphicsUnit.Pixel để đảm bảo rằng nó vẽ pixel cho pixel thay vì thực hiện chuyển đổi DPI (mặc định DrawImage). –
@Chris: Cảm ơn mẹo. Tôi sẽ thêm nó. –
@Jim: Tôi muốn thêm rằng gợi ý của erlando để đặt độ phân giải đôi khi cần thiết để đảm bảo kết quả thực sự không thay đổi (tôi nhấn trường hợp như vậy ngày hôm nay). –