Tôi có ảnh chụp màn hình tôi chụp trong ứng dụng dành cho thiết bị di động của mình. Ảnh chụp màn hình mất khoảng 32 KB khi được lưu dưới dạng png trên đĩa.Làm cách nào để giảm kích cỡ của ảnh trong C# và .NET 3.5?
Tôi gửi chúng đến một máy chủ SQL trung tâm và 32 KB là quá lớn đối với số lần đó tôi sẽ cần phải lưu trữ ảnh chụp màn hình đó (khoảng 2500 lần một ngày).
Có loại thủ thuật nào mà tôi có thể thực hiện để làm cho nó tiết kiệm nhỏ hơn không?
Đây là mã tôi đang sử dụng hiện nay để mang nó từ Bitmap
để byte (để gửi đến máy chủ để lưu trữ):
MemoryStream stream = new MemoryStream();
_signatureImage.Save(stream, ImageFormat.Png);
return stream.ToArray();
_signatureImage
là một Bitmap
và là ảnh chụp màn hình trong câu hỏi.
Dưới đây là một ví dụ màn hình bắn tôi tiết kiệm của:
Mọi thứ mà bật để tâm (nhưng tôi không biết làm thế nào để làm cho họ):
- Giảm Chiều cao và Chiều rộng thực tế của hình ảnh (nhưng hy vọng theo cách sẽ không bóp méo nó).
- Thay đổi hình ảnh thành hình ảnh đen trắng (không chắc chắn liệu tôi có thấy bất kỳ khoản tiết kiệm không gian thực nào) không? .
Lưu ý, tất cả điều này phải được thực hiện theo chương trình và không thể thực hiện thao tác hình ảnh phức tạp, quá lâu.
Cảm ơn bạn đã được trợ giúp.
Tôi không thể xem hình ảnh bạn đã đăng (lọc http tại nơi làm việc). kích thước là gì? – Kendrick
@Kendrick Nó là 480 x 640. – jdmichal