Tanda air pada gambar biasanya digunakan untuk mengklaim kepemilikan konten. Di sisi lain, gambar diberi tanda air untuk menghindari penggunaan yang tidak sah atau pemalsuan. Dalam berbagai kasus, Anda mungkin perlu mengotomatiskan fitur watermarking dalam aplikasi web atau desktop Anda. Untuk skenario seperti itu, artikel ini membahas cara menambahkan watermark ke gambar secara terprogram menggunakan C#. Ini juga bisa berguna saat Anda perlu memberi tanda air pada sekumpulan gambar sekaligus. Jadi mari kita mulai.
- C# API untuk Menambahkan Tanda Air ke Gambar
- Tambahkan Tanda Air ke Gambar di C#
- Tambahkan Tanda Air Diagonal ke gambar di C#
- Dapatkan Lisensi API Gratis
C# API untuk Menambahkan Tanda Air ke Gambar
Untuk menambahkan watermark ke gambar, kita akan menggunakan Aspose.Imaging for .NET. Ini adalah API pemrosesan gambar yang kuat yang mendukung berbagai format gambar. Selain itu, API memudahkan Anda untuk memanipulasi gambar. Anda dapat mengunduh binari API atau menginstalnya menggunakan NuGet.
PM> Install-Package Aspose.Imaging
Tambahkan Tanda Air ke Gambar di C#
Berikut adalah langkah-langkah untuk menambahkan watermark pada gambar menggunakan C#.
- Muat gambar menggunakan kelas Image.
- Buat instance dari kelas Graphics dan inisialisasi dengan objek Image.
- Tetapkan kelompok font, ukuran, dan wajah menggunakan kelas Font.
- Buat instance dari kelas SolidBrush dan atur propertinya seperti warna dll.
- Instansiasi kelas StringFormat untuk menyetel perataan teks.
- Tambahkan tanda air ke gambar menggunakan metode Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Simpan gambar menggunakan metode Image.Save(String).
Contoh kode berikut menunjukkan cara menambahkan tanda air ke gambar di C#.
// Muat gambar PNG yang ada
using (Image image = Image.Load("image.png"))
{
// Deklarasikan objek String dengan Teks Watermark
string theString = "This is watermark";
// Buat dan inisialisasi instance kelas Grafik dan Inisialisasi objek SizeF untuk menyimpan Ukuran gambar
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Membuat instance Font, menginisialisasinya dengan Font Face, Size, dan Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Buat instance SolidBrush dan atur berbagai propertinya
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inisialisasi objek kelas StringFormat dan atur berbagai propertinya
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Gambar string pada output Simpan Gambar ke disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.jpg");
}
Tambahkan Tanda Air Diagonal ke gambar di C#
Dalam berbagai kasus, tanda air diterapkan pada gambar secara diagonal. Untuk ini, Aspose.Imaging for .NET memungkinkan Anda mengubah teks watermark pada sudut tertentu. Berikut adalah langkah-langkah untuk menambahkan tanda air diagonal pada gambar.
- Muat gambar menggunakan kelas Image.
- Buat instance dari kelas Graphics dan inisialisasi dengan objek Image.
- Tetapkan kelompok font, ukuran, dan wajah menggunakan kelas Font.
- Buat instance dari kelas SolidBrush dan atur propertinya seperti warna dll.
- Instansiasi kelas StringFormat untuk menyetel perataan teks.
- Buat instance kelas Matrix dan atur sudut transformasi.
- Tetapkan objek Matrix ke properti Graphics.Transform.
- Tambahkan tanda air menggunakan metode Graphics.DrawString(String, Font, SolidBrush, 0, 0, StringFormat).
- Simpan gambar menggunakan metode Image.Save(String).
Contoh kode berikut menunjukkan cara menambahkan tanda air diagonal ke gambar menggunakan C#.
// Muat gambar PNG yang ada
using (Image image = Image.Load("Image.png"))
{
// Deklarasikan objek String dengan Teks Watermark
string theString = "45 Degree Rotated Text";
// Buat dan inisialisasi instance kelas Grafik dan Inisialisasi objek SizeF untuk menyimpan Ukuran gambar
Graphics graphics = new Graphics(image);
SizeF sz = graphics.Image.Size;
// Membuat instance Font, menginisialisasinya dengan Font Face, Size, dan Style
Font font = new Font("Times New Roman", 20, FontStyle.Bold);
// Buat instance SolidBrush dan atur berbagai propertinya
SolidBrush brush = new SolidBrush();
brush.Color = Color.Red;
brush.Opacity = 0;
// Inisialisasi objek kelas StringFormat dan atur berbagai propertinya
StringFormat format = new StringFormat();
format.Alignment = StringAlignment.Center;
format.FormatFlags = StringFormatFlags.MeasureTrailingSpaces;
// Buat objek kelas Matrix untuk transformasi
Matrix matrix = new Matrix();
// Pertama terjemahan lalu rotasi
matrix.Translate(sz.Width / 2, sz.Height / 2);
matrix.Rotate(-45.0f);
// Atur Transformasi melalui Matrix
graphics.Transform = matrix;
// Gambar string pada output Simpan Gambar ke disk
graphics.DrawString(theString, font, brush, 0, 0, format);
image.Save("watermarked.png");
}
Dapatkan Lisensi API Gratis
Jika Anda ingin mencoba API tanpa batasan evaluasi, Anda bisa mendapatkan lisensi sementara gratis.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara menambahkan watermark ke gambar menggunakan C#. Selanjutnya, Anda telah melihat cara mengubah teks tanda air ke sudut tertentu. Anda dapat mempelajari lebih lanjut tentang C# image processing API menggunakan dokumentasi. Jika Anda memiliki pertanyaan atau pertanyaan, hubungi kami melalui forum kami.