Sudahkah Anda mencoba menggunakan .net untuk pemrosesan gambar? Dalam proyek terbaru yang dilakukan oleh perusahaan, banyak gambar produk yang disimpan di database, namun tidak ada satupun yang memiliki informasi hak cipta. Pada saat itu, pelanggan mengharuskan semua gambar diberi label dengan nama perusahaan? Saat ini, apa yang harus Anda lakukan?
Walaupun saya masih pemula, namun masih banyak solusi untuk masalah ini, yang dapat diringkas sebagai berikut:
1. Gunakan perangkat lunak pengolah grafis, seperti Photoshop, dll., dan gunakan fungsi pemrosesan batch untuk mencapai fungsi ini, tetapi setiap kali petugas entri data menambahkan Jika ingin memasukkan gambar, Anda harus memprosesnya, yang sangat merepotkan. Saya melihat petugas entri biasanya sangat baik kepada saya dan menyapa saya dengan senyuman setiap hari dia? Rencana ini ditolak.
2. Menggunakan pemrosesan gambar .net yang lancar, ketika petugas entri mengunggah gambar, maka secara otomatis akan menambahkan logo perusahaan. Bukankah lebih baik? Ini ide yang bagus. Ini bisa masuk dalam 10.000 solusi terbaik pada tahun 2005. , lakukan saja seperti yang Anda katakan.
menggunakan Sistem.Gambar;
menggunakan Sistem.IO;
menggunakan System.Drawing.Imaging;
private void AddTextToImg(string nama file, string teks)
{
if(!File.Exists(MapPath(namafile)))
{
throw new FileNotFoundException("File tidak ada!");
}
if(teks == string.Kosong)
{
kembali;
}
//Anda juga perlu menentukan apakah tipe file adalah tipe gambar, yang tidak akan dijelaskan di sini.
System.Drawing.Image image = System.Drawing.Image.FromFile(MapPath(fileName));
Bitmap bitmap = Bitmap baru(gambar,gambar.Lebar,gambar.Tinggi);
Grafik g = Grafik.FromImage(bitmap);
ukuran font float = 12.0f;
float textWidth = text.Length*fontSize; //Panjang teks
//Tentukan area persegi panjang di bawah, lalu gambar teks hitam dengan latar belakang putih di persegi panjang ini
mengambang rectX = 0;
float lurusY = 0;
float rectWidth = teks.Panjang*(Ukuran font+8);
float rectHeight = ukuran font+8;
//Deklarasikan domain persegi panjang
RectangleF textArea = new RectangleF(rectX,rectY,rectWidth,rectHeight);
Font font = new Font("宋体",fontSize);
Brush whiteBrush = new SolidBrush(Color.White); //Kuas putih, digunakan untuk menggambar teks
Kuas blackBrush = new SolidBrush(Color.Black); //Kuas hitam, gambar latar belakang dengan
,
rectY,rectWidth,rectHeight);
MemoryStream ms = MemoryStream baru( );
//Simpan sebagai tipe Jpg
bitmap.Save(ms,ImageFormat.Jpeg);
//Output gambar yang diproses. Untuk kenyamanan demonstrasi, saya menampilkan gambar di halaman.
Respon.Hapus();
Response.ContentType = "gambar/jpeg";
Respon.BinaryWrite( ms.ToArray() );
g.Dispose();
bitmap.Buang();
gambar.Buang();
}
Panggilannya sangat sederhana,
AddTextToImg("me.jpg","Xiao Zhi");
Saya merasa .net sangat kuat. Fungsi-fungsi ini adalah barang mewah di Asp, tetapi dapat dilakukan dengan mudah di Lingkungan .Net. Lengkap!