- [VB.NET] Lấy địa chỉ Bios Serial Number trên Winform
- [C#] Giới thiệu và sử dụng thư viện AutoMapper
- [DEVEXPRESS] Hướng dẫn Custom Summary in Footer trong Gridview C#
- [C#] Dependency Injection in Winform
- [SQLSERVER] Hướng dẫn tìm kiếm nâng cao trên sql
- [C#] Hướng dẫn sử dụng SetTimeOut trên Winform like Javascript
- [DATABASE] In cây thông noel bằng sqlserver
- [C#] Hướng dẫn fix lỗi hiển thị UTF-8 khi sử dụng WebClient Download String
- [DATABASE] Hướng dẫn mã hóa và giải mã sử dụng thuật toán AES 256 trên sqlserver
- [DATABASE] Base64 Encode and Decode trong Sqlserver
- [C#] Vì Mẹ anh bắt phải Fake địa chỉ MacAddress
- [C#] Hướng dẫn xuất dữ liệu từ DataGridview ra file Excel
- [C#] Hướng dẫn khởi động lại chương trình ứng dụng winform
- [C#] Sự khác nhau giữa String.IsNullOrEmpty và String.IsNullOrWhiteSpace
- [C#] Hướng dẫn đọc file hình ảnh định dạng WEBP và chuyển đổi WebP sang JPG
- [C#] Kiểm tra phiên bản Microsoft Office đang sử dụng trên máy tính
- [C#] Hướng dẫn chuyển đổi tập tin hình ảnh XPS sang Bitmap
- [C#] Giới thiệu Component WebView2 của Microsoft
- [C#] Hướng dẫn lưu tất cả hình ảnh từ File Excel vào thư mục window
- [DATABASE] Hướng dẫn import và export hình ảnh image từ Sqlserver
[C#] Hướng dẫn đọc file hình ảnh định dạng WEBP và chuyển đổi WebP sang JPG
Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách đọc hình ảnh định dạng WebP vào picturebox C#, Winform.
[C#] Read and Convert WebP to Jpeg in Winform
Vậy định dạng hình ảnh WebP là gì?
Google đã dành vài năm để tạo ra WebP với mục tiêu giảm kích thước file hình ảnh mà không ảnh hưởng đến chất lượng.
Để làm điều này, định dạng hình ảnh WebP sử dụng thuật toán nén hiệu quả hơn, giúp kích thước file hình ảnh trên web nhỏ hơn đáng kể so với JPEG hoặc PNG.
Định dạng WebP sẽ tăng tối ưu tăng tốc độ load trang web nhanh hơn.
Các bạn có thể xem hình ảnh dưới đây để so sánh kích thước của 1 hình ảnh định dạng: jpeg và webp
Mặc định, trên Winform không có hỗ trợ bạn đọc định dạng hình ảnh File WebP.
Trong bài viết này, mình sẽ hướng dẫn các bạn sử dụng thư viện libwebp.dll
để đọc file định dạng này.
Thư viện, các bạn download ở source code bên dưới nhé.
Giao diện demo ứng dụng đọc hình ảnh WEBP C#:
Source code c#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WebPWrapper;
namespace ReadWebPToPictureBox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// pictureBox1.Image = Image.FromFile("SimpleLossless.webp");
using (WebP webp = new WebP())
{
Bitmap bmp = webp.Load("SimpleLossless.webp");
pictureBox1.Image = bmp;
}
}
private void btnSave_Click(object sender, EventArgs e)
{
var image = pictureBox1.Image;
using (var dlg = new SaveFileDialog()) {
dlg.Filter = "*.jpg|jpg image";
if (dlg.ShowDialog() == DialogResult.OK) {
image.Save(dlg.FileName + ".jpg", ImageFormat.Jpeg);
}
}
}
}
}
Nếu các bạn muốn save hình ảnh từ jpg, png,... sang webp thì các bạn đọc nó vào Bitmap rồi convert theo lệnh sau:
Bitmap bmp = new Bitmap("test.jpg");
using (WebP webp = new WebP())
webp.Save(bmp, 80, "test.webp");
Thanks for watching!