Direkomendasikan: Cara menambah atau mengurangi tanggal dalam fungsi dateadd di ASP Artikel ini akan memperkenalkan penggunaan penambahan tanggal atau pengurangan dalam fungsi dateadd di ASP. Mereka yang perlu tahu dapat merujuknya.
1. Tambahkan tanda air ke gambarSalin kode sebagai berikut: www.cuoxin.com
<%
Redup jpeg '' '' // mendeklarasikan variabel
Atur jpeg = server.createObject ("persits.jpeg") '' '' // Calling Component
Jpeg.open server.mappath ("aaa.jpg") '' '' // Sumber Lokasi Gambar
Jpeg.canvas.font.color = & H000000 '' '' // WATERMARK Warna Font
Jpeg.canvas.font.family = "安安" '' '' // watermark font
Jpeg.canvas.font.size = 14 '' '' // Watermark Font Ukuran
Jpeg.canvas.font.bold = false '' '' // apakah itu berani? Gunakan: Benar
Jpeg.canvas.font.bkmode = & hfffff '' '' // warna latar belakang font
Jpeg.canvas.print 10, 10, "Studio Nakal yang Tidak Terkalahkan" '' '' // Teks Watermark, dua angka 10 adalah koordinat XY dari tanda air
Jpeg.save server.mappath ("aaa_05.jpg") '' '' // menghasilkan gambar baru dengan tanda air dan menyimpan lokasi
Setel jpeg = tidak ada '' '' // Masuk komponen dan lepaskan sumber daya
Response.write "<img src = aaa_05.jpg>" '' '' // Tampilkan gambar setelah tanda air dihasilkan di halaman ini
%>
2. Hasilkan thumbnail
Salin kode sebagai berikut: www.cuoxin.com
<%
Redup jpeg '' '' // mendeklarasikan variabel
Atur jpeg = server.createObject ("persits.jpeg") '' '' // Calling Component
Jpeg.open server.mappath ("aaa.jpg") '' '' // lokasi gambar asli
Jpeg.width = jpeg.originalwidth/4 '' '' // Misalkan lebar gambar adalah seperempat dari gambar aslinya
Jpeg.height = jpeg.originalheight/4 '' '' // Misalkan tinggi gambar adalah seperempat dari gambar asli
Jpeg.sharpen 1, 130 '' '' '// atur efek penajaman
Jpeg.save server.mappath ("aaa_small.jpg") '' '' // menghasilkan lokasi dan nama thumbnail
Setel jpeg = tidak ada '' '' // Masuk komponen dan lepaskan sumber daya
Response.write "<img src = aaa_small.jpg>" '' '' // Tampilkan gambar thumbnail yang dihasilkan di halaman ini
%>
Pengantar Metode Penggunaan Komponen ASPJPEG Tingkat Lanjut
ASPJPEG adalah komponen pemrosesan gambar yang sangat kuat, dalam versi bahasa Inggris murni. Namun, ada versi gratis dan versi retak, tetapi tidak ada banyak artikel yang memberikan perkenalan terperinci dan mendalam kepada mereka. Bahkan jika ada, mereka hanya melibatkan gambar mini dan air gambar. Mungkin itu karena bahasa Inggris murni.
Di sini saya akan berbicara tentang penggunaan lanjutan ASPJPEG untuk masalah ini. Teknologi di sini terutama meliputi:
Gambar gambar kecil
Bayangkan tanda air
Teknologi Kode Keamanan
Pemotongan gambar
Gabungan gambar
Dukungan Basis Data
Metode yang lebih jarang digunakan
dan beberapa teknologi praktis terkait
Satu -satunya titik kekurangan ASPJPEG adalah bahwa metode output relatif tunggal. Di sini, kami terutama berbicara tentang metode output ini yang menyimpan gambar dan kemudian memanggilnya. Selain itu, saya relatif malas, jadi beberapa kode masih dikutip dalam dokumen asli, dan saya akan menjelaskan apa yang tidak saya mengerti!
Kawan -kawan yang telah mempelajari VB atau .NET pasti akan memahaminya secara sekilas. Sikat datang. hehe.
1. Gambar Thumbnail
Salin kode sebagai berikut: www.cuoxin.com
<%
Setel jpeg = server.createObject ("persits.jpeg") komponen panggilan
Path = server.mappath ("gambar") & "/clock.jpg" jalur gambar yang tertunda
JPEG.Open Path Open Picture
Tinggi dan lebar adalah 1/2 dari gambar aslinya
Jpeg.width = jpeg.originalwidth / 2
Jpeg.height = jpeg.originalheight / 2
Simpan gambarnya
Jpeg.save server.mappath ("gambar") & "/clock_small.jpg"
%>
<Img src = "gambar/clock_small.jpg"> Lihat gambar yang diproses
2. Bayangkan Watermark
Salin kode sebagai berikut: www.cuoxin.com
<%
Setel jpeg = server.CreateObject ("persits.jpeg")
Jpeg.open server.mappath ("gambar/dodge_viper.jpg")
Mulailah menulis
Jpeg.canvas.font.color = & h000000 '' '' warna putih
Jpeg.canvas.font.family = "courier new" font
Jpeg.canvas.font.bold = true apakah akan menebal
Jpeg.canvas.print 10, 10, "Hak Cipta (C) XYZ, Inc."
Cetak koordinat x cetak koordinat karakter y yang akan dicetak
Berikut ini adalah pemrosesan perbatasan gambar
Jpeg.canvas.pen.color = & h000000 '' '' warna hitam
Jpeg.canvas.pen.width = 2 lebar kuas
Jpeg.canvas.brush.solid = false apakah akan berani
Jpeg.canvas.bar 1, 1, jpeg.width, jpeg.height
Mulai x Koordinat Mulai Y Koordinat Tinggi Input Panjang Input
Jpeg.save server.mappath ("gambar/dodge_viper_framed.jpg") simpan
%>
3. Kode Keamanan
Prinsip Safe MA mirip dengan menambahkan tanda air. Banyak teman bertanya kepada saya tentang teknik kode tertentu, jadi saya akan menulisnya di sini untuk membaginya dengan Anda. Saya tidak akan memberi tahu mereka tentang orang biasa. hehe.
Salin kode sebagai berikut: www.cuoxin.com
<%
Fungsi yang Menghasilkan Kode Keamanan www.wuyouw.com
fungsi make_randomize (max_len, w_n) max_len menghasilkan panjang, w_n: 0 dapat berisi huruf, 1: hanya untuk angka
mengacak
untuk intcounter = 1 ke max_len
whatnext = int ((1-0+1)*rnd+w_n)
Jika whatnext = 0 lalu
atas = 122
lebih rendah = 97
kalau tidak
atas = 57
lebih rendah = 48
akhiri jika
StrnewPass = StrnewPass & Chr (int ((Penerang atas+1)*rnd)+lebih rendah)
Berikutnya
make_randomize = strnewpass
fungsi akhir
%>
Menghasilkan gambar kode keamanan. Tentu saja Anda perlu menyiapkan gambar latar belakang terlebih dahulu
Salin kode sebagai berikut: www.cuoxin.com
<%random_num = make_randomize (4,1) menghasilkan kode keamanan 4 digit
sesi ("acak_num") = acak_num Mengapa sesi dipanggil? Benar -benar tidak ada artinya tanpa kode keamanan sesi. hehe
Setel jpeg = server.createObject ("persits.jpeg") komponen panggilan
Jpeg.open server.mappath ("infos/random_pic/random_index.gif") buka gambar yang disiapkan
Jpeg.canvas.font.color = & H006699
Jpeg.canvas.font.family = "Arial Black"
Jpeg.canvas.font.bold = false
Jpeg.canvas.printtext 0, -2, random_num
jpeg.save server.mappath ("infos/acak_pic/random_index.bmp") simpan
%>
<img src = "infos/random_pic/random_index.bmp" align = "absmiddle">
Lakukan sendiri. hehe.
4. Pemotongan gambar
Orang yang tidak tahu ASPJPEG selalu berpikir bahwa mereka tidak dapat menggunakannya untuk memotong.
Sebenarnya ada metode seperti itu
CROP X1, Y1, X2, Y2
Potong koordinat X dari sudut kiri atas persegi panjang, koordinat X dari sudut kanan bawah koordinat-Y
Saya akan memberikan demonstrasi di bawah ini
Setel jpeg = server.CreateObject ("persits.jpeg")
jpeg.open server.mappath ("/pic/1.gif")
jpeg.width = 70
Jpeg.height = jpeg.originalheight*70 / jpeg.originawidth
jpeg.crop 0,0,70,52 Pemotongan mulai sebenarnya menghapus bagian bawah lebih dari 52 piksel
jpeg.save server.mappath ("/temp_pic/small_1.gif") simpan
Bagaimana dengan itu, ini sangat sederhana
5. Penggabungan gambar
Di sini kami ingin menambahkan gambar logo ke gambar dodge_viper.jpg
Bahkan, metode penggabungan gambar juga dapat digunakan untuk mencetak air secara dinamis.
Salin kode sebagai berikut: www.cuoxin.com
Set Foto = Server.CreateObject ("Persits.jpeg")
Photopath = server.mappath ("gambar") & "/dodge_viper.jpg"
Photo.open photopath
Setel logo = server.CreateObject ("persits.jpeg")
Logopath = server.mappath ("gambar") & "/clock.jpg"
LOGO.OPEN LOGOPATH
Logo.width = 70
Logo.height = logo.width * logo.originalheight / logo.originalwidth
Photo.drawimage 0, 0, logo
Photo.sendbinary
Di sini kami menggunakan metode output sendBinary. Tentu saja, Anda juga dapat menyimpan dodge_viper.jpg yang diubah terlebih dahulu, dan kemudian masukkan. Saya pribadi tidak suka menggunakan metode sendBinary, dan mudah untuk membuat kesalahan ketika kecepatan internet lambat. Tidak terlalu pandai dengan kecepatan. hehe.
6. Dukungan Basis Data
Saya tidak akan banyak bicara di sini. Bahkan, ini adalah metode biner. Seperti yang kita semua tahu, gambar hanya dapat disimpan sebagai file biner saat disimpan dalam database. Jadi saya malas menulis kodenya.
7. lebih banyak metode
Canvas.line (kiri, atas, kanan, bawah)
Gambarlah garis lurus
Canvas.ellipse (kiri, atas, kanan, bawah)
Gambar elips
Canvas.Circle (x, y, radius)
Gambarlah lingkaran
Canvas.bar (kiri, atas, kanan, bawah)
Menggambar persegi panjang dengan kode di atasnya
Canvas.font.shadowcolor
Warna bayangan teks
Canvas.font.shadowxoffset selama
Pengaturan Koordinat Bayangan X
Canvas.font.shadowyoffset selama
Y Pengaturan Koordinat
Canvas.font.bkmode sebagai string
Latar belakang teks
=======================================================
Hari ini saya akan memberi tahu Anda tentang pengetahuan ASP menambahkan tanda air ke gambar
ASP membutuhkan komponen untuk menambahkan tanda air ke gambar ... yang biasa digunakan termasuk aspjpeg dan wsimage yang dikembangkan oleh orang -orang Cina ... yang pertama gratis selama 30 hari ... yang terakhir benar -benar gratis ... tentu saja kita harus menggunakan produk Cina ... hehe ...
Cara Mendaftarkan Komponen :
Masukkan "Regsvr32 [DLL Path]" di prompt perintah
Menambahkan tanda air ke gambar tidak lebih dari mendapatkan ukuran gambar dan kemudian menulis tanda air di atasnya ... Kode ASP hanya berfungsi sebagai komponen kontrol. Gunakan kode untuk menjelaskan semuanya.
1: Dapatkan ukuran gambar (di sini dinyatakan oleh nilai piksel. Teman yang belajar Photoshop harus mengerti)
Salin kode sebagai berikut: www.cuoxin.com
<%
atur obj = server.CreateObject ("wsimage.resize") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.LoadSocePic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' 'Buka gambarnya, nama gambarnya 25.jpg
obj.getsourceeinfo iwidth, iheight
response.write "Lebar gambar:" & iwidth & "<br>" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Yang ”yang” yang ”yang” yang ”yang” ”yang” ”yang” '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Yang ”yang” ”yang” yang ”yang” ”yang” ”yang” '' '' '' '' '' '' '
response.write "Tinggi gambar:" & iheight & "<br>" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Yang ”yang” ”yang” yang ”yang” ”yang” ”yang” '' '' '' '' '' '' ' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Yang ”” yang ”'' '' '' '' '' '' ''
strerror = obj.errorinfo
Jika Strerror <> "" lalu
Response.write obj.Errorinfo
akhiri jika
obj.free
atur obj = tidak ada
%>
2: Tambahkan tanda air teks
Salin kode sebagai berikut: www.cuoxin.com
<%
Set Obj = Server.CreateObject ("Wsimage.ressize")
obj.LoadSoexic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
OBJ.Quality = 75
obj.txtmarkfont = "cloud warna Cina" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.txtmarkbond = false '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.markrotate = 0 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'Sudut Rotasi Teks Watermark
obj.txtmarkheight = 25 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' The Height of Watermark Text Teks
obj.addtxtmark server.mappath ("txtmark.jpg"), "Take you out", & h00ff00 &, 10, 70
strerror = obj.errorinfo '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'nama gambar dihasilkan, dan warna teks adalah tanda air dalam posisi gambar tersebut
Jika Strerror <> "" lalu
Response.write obj.Errorinfo
akhiri jika
obj.free
atur obj = tidak ada
%>
Tiga: Tambahkan tanda air gambar
Salin kode sebagai berikut: www.cuoxin.com
<%
Set Obj = Server.CreateObject ("Wsimage.ressize")
obj.LoadSoexic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
OBJ.LoadImgmarkpic server.mappath ("blend.bmp") '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
OBJ.Quality = 75
obj.addimgmark server.mappath ("imgmark.jpg"), 315, 220, & hfffff, 70
strerror = obj.errorinfo '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'nama gambar dihasilkan, dan warna teks adalah tanda air dalam posisi gambar tersebut
Jika strerror <> "" lalu
Response.write obj.Errorinfo
akhiri jika
obj.free
atur obj = tidak ada
%>
Bahkan, menambahkan tanda air ke gambar sesederhana itu. Kemudian saya berbicara tentang dua penggunaan utama lain dari komponen wsimage.dll. Termasuk:
Potong gambar dan hasilkan thumbnail gambar.
Seperti yang saya terbiasa, saya akan menambahkan komentar ke kode:
Gambar yang dipotong :
Salin kode sebagai berikut: www.cuoxin.com
<%
Set Obj = Server.CreateObject ("Wsimage.ressize")
Obj.LoadSocePic server.mappath ("25.jpg")
OBJ.Quality = 75
obj.cropimage server.mappath ("25_crop.jpg"), 100,10.200.200 '' '' '' '' '' '' '' '' '' '' '' '
strerror = obj.errorinfo
Jika Strerror <> "" lalu
Response.write obj.Errorinfo
akhiri jika
obj.free
atur obj = tidak ada
%>
Komentar terperinci: CropImage menggunakan metode cropimage WSIMAGE. Saat mendefinisikan generasi gambar, 100 dan 10 adalah titik potong di sudut kiri atas, yaitu, 100 piksel di sebelah kiri gambar dan 10 piksel di bagian atas. Dua 200 terakhir mewakili broadband dan tinggi dan tinggi badan.
Hasilkan Thumbnail Gambar:
Salin kode sebagai berikut: www.cuoxin.com
<%
Set Obj = Server.CreateObject ("Wsimage.ressize")
Obj.LoadSocePic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' Yang ”yang” yang ”yang” yang ”” yang ”” yang '' ”yang '” ”yang”' '' '' '' '' ''
OBJ.Quality = 75
Obj.outputspic server.mappath ("25_s.jpg"), 0,5,0,5,3 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'Yang ”yang” yang ”yang” yang ”yang” ”yang'” yang ”” yang ”'' '' '' '' '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
strerror = obj.errorinfo
Jika strerror <> "" lalu
Response.write obj.Errorinfo
akhiri jika
obj.free
atur obj = tidak ada
%>
Deskripsi terperinci:
Ada empat cara untuk mengekspor thumbnail :
(1) Obj.outputspic server.mappath ("25_s.jpg"), 200.150,0
200 adalah lebar output dan 150 adalah ketinggian output. Bentuk output ini adalah lebar dan tinggi output paksa, yang dapat menyebabkan deformasi gambar.
(2) Obj.outputspic server.mappath ("25_s.jpg"), 200,0,1
Dengan 200 sebagai lebar output, tinggi output akan diskalakan dengan kolom.
(3) Obj.outputspic server.mappath ("25_s.jpg"), 0,200,2
Dengan 200 sebagai ketinggian output, lebar output akan diskalakan dengan kolom.
(4) OBJ.OutputSpic server.mappath ("25_s.jpg"), 0,5,0,5,3
0,5 pertama berarti bahwa thumbnail yang dihasilkan adalah setengah lebar gambar asli, yang berarti rasio reduksi lebar.
0,5 kedua berarti bahwa thumbnail yang dihasilkan adalah setengah dari ketinggian gambar asli, yang berarti rasio reduksi tinggi.
Pengurangan lebar dan tinggi yang konsisten berarti bahwa gambar asli akan ditingkatkan. Jika rasio zoom lebar dan tinggi lebih besar dari 1, gambar asli akan diperbesar.
Dicetak ulang dari: http://hi.baidu.com/miracle521/blog/item/e3419133fdc00746ac4b5f25.html
2 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Unggah gambar asp.net dengan tanda air (tanda air teks, gambar watermark, teks + gambar watermark)
Tambahkan tanda air ke gambar (tanda air teks, tanda air gambar, teks + gambar watermark)
Gambar reproduksi:
Gambar 500) This.width = 500 "Border = 0 <
Watermark 500) this.width = 500 "Border = 0 <
Setelah menambahkan tanda air ke gambar (perhatikan sudut kanan atas + langsung di bawah)
500) This.width = 500 "Border = 0 <
Kode:Drawimg.cs
Salin kode sebagai berikut: www.cuoxin.com
menggunakan sistem;
menggunakan System.drawing;
menggunakan System.drawing.Imaging;
menggunakan system.drawing.drawing2d;
Drawimg kelas publik
{
Private String workingDirectory = string.empty; //Jalur
Private String imageName = string.empty; // Gambar yang diproses
Private String ImageWater = String.empty; // gambar tanda air
private string fontString = string.empty; // Teks Watermark
enum dealtype {none, waterimage, waterfont, doubledo}; // perintah enum
Dealtype Private Dealtype;
drawimg publik ()
{}
Public String PublicingDirectory
{
mendapatkan
{
Kembalikan WorkingDirectory;
}
mengatur
{
WorkingDirectory = nilai;
}
}
Public String PublicImagename
{
mendapatkan
{
kembalikan nama imagen;
}
mengatur
{
Imagename = nilai;
}
}
Public String PublicAmagewater
{
mendapatkan
{
Return Imagewater;
}
Set // Jika Anda mengatur gambar tanda air, itu berarti Anda ingin menggunakan efek gambar tanda air.
{
dealtype = dealtype.waterImage;
ImageWater = nilai;
}
}
Public String PublicFontString
{
mendapatkan
{
return fontString;
}
Set // Jika teks tanda air diatur, itu berarti bahwa efek teks tanda air diperlukan.
{
dealtype = dealtype.waterfont;
FontString = nilai;
}
}
public void dealimage ()
{
IsDouble ();
sakelar (dealtype)
{
case dealtype.waterfont: writeFont (); merusak;
case dealtype.waterimage: writeimg (); merusak;
case dealtype.doubledo: writeFontandimg (); merusak;
}
}
Private void isDouble ()
{
if (imageWater+""! = "" && fontString+""! = "")
{
dealtype = dealtype.doubledo;
}
}
private void writeFont ()
{
// Tetapkan direktori yang berfungsi
// string workingdirectory = @"c:/watermark_src/waterpic";
// Tentukan string teks untuk digunakan sebagai pesan hak cipta
// String Copyright = "Hak Cipta? 2002 - AP Photo/David Zalubowski";
// Buat objek gambar yang berisi foto ke tanda air
Image imgphoto = Image.FromFile (WorkingDirectory + ImageName);
int phwidth = imgphoto.width;
int phheight = imgphoto.height;
// Buat bitmap ukuran foto asli
Bitmap bmphoto = bitmap baru (phwidth, phheight, pixelformat.format24bpprgb);
bmphoto.setresolution (imgphoto.horizontalResolution, imgphoto.verticalResolution);
// Muat bitmap ke dalam objek grafik
Grafik grphoto = graphics.fromimage (bmphoto);
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Langkah #1 - Masukkan pesan hak cipta
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Atur kualitas rendering untuk objek grafis ini
grphoto.smoothingmode = smoothingmode.antialias;
// Menggambar objek gambar foto pada ukuran asli ke objek grafis.
grphoto.drawimage (
Imgphoto, // objek gambar foto
persegi panjang baru (0, 0, phwidth, phheight), // struktur persegi panjang
0, // Koordinat X dari bagian dari gambar sumber untuk menggambar.
0, // Koordinat Y dari bagian dari gambar sumber untuk menggambar.
Phwidth, // Lebar bagian dari gambar sumber untuk menggambar.
phheight, // tinggi bagian dari gambar sumber untuk menggambar.
Graphicsunit.pixel); // unit ukuran
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Untuk memaksimalkan ukuran pesan hak cipta yang akan kami lakukan
// Uji beberapa ukuran font untuk menentukan yang sebesar mungkin
// font yang dapat kita gunakan untuk lebar foto
// Tentukan serangkaian ukuran titik yang ingin Anda pertimbangkan mungkin
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
int [] ukuran = int baru [] {16,14,12,10,8,6,4};
Font crfont = null;
Sizef crsize = new Sizef ();
// Lingkarkan melalui ukuran yang ditentukan memeriksa panjang string hak cipta
// Jika panjangnya dalam piksel kurang dari lebar gambar, pilih ukuran font ini.
untuk (int i = 0; i <7; i ++)
{
// Atur objek font ke Arial (i) pt, tebal
// crfont = font baru ("Arial", ukuran [i], fontstyle.bold);
crfont = font baru ("Arial", ukuran [i], fontstyle.bold);
// Ukur string hak cipta dalam font ini
crsize = grphoto.measurestring (fontString, crfont);
if ((Ushort) crsize.width <(Ushort) Phwidth)
merusak;
}
// Karena semua foto akan memiliki ketinggian yang bervariasi, tentukan a
// Posisikan 5% dari bagian bawah gambar
int ypixlesfrombottom = (int) (phheight *.05);
// Sekarang kita memiliki ukuran titik menggunakan tinggi string hak cipta
// untuk menentukan koordinat-y untuk menggambar string foto
float yposfrombottom = ((phheight - ypixlesfrombottom) - (crsize.height/2));
// Tentukan koordinat X-nya dengan menghitung pusat lebar gambar
float xcenterofimg = (phwidth/2);
// Tentukan tata letak teks dengan mengatur perataan teks ke pusat
StringFormat strformat = new stringFormat ();
Strformat.alignment = stringalignment.center;
// Tentukan kuas yang semi trasparent hitam (alfa diatur ke 153)
Solidbrush semitransbrush2 = solidbrush baru (Color.FromArgb (153, 0, 0, 0));
// Gambarlah string hak cipta
grphoto.drawstring (fontString, // string teks
crfont, // font
semitransbrush2, // sikat
pointf baru (xcenterofimg+1, yposfrombottom+1), // posisi
Strformat);
// Tentukan kuas yang berwarna putih semi trasparent (alfa diatur ke 153)
Solidbrush semitransbrush = solidbrush baru (Color.FromArgb (153, 255, 255, 255));
// Gambarlah string hak cipta untuk kedua kalinya untuk membuat efek bayangan
// Pastikan untuk memindahkan teks ini 1 piksel ke kanan dan ke bawah 1 piksel
grphoto.drawstring (fontString, // string teks
crfont, // font
semitransbrush, // sikat
pointf baru (xcenterofimg, yposfrombottom), // posisi
Strformat);
imgphoto = bmphoto;
grphoto.dispose ();
// Simpan gambar baru ke sistem file.
imgphoto.save (workingDirectory + imagename + "_finally.jpg", imageformat.jpeg);
imgphoto.dispose ();
// Penyelarasan teks
}
Bagikan: Asp Solusi Masalah Berbobol Cina Tidak peduli bahasa apa yang ada masalah kacau, ASP tidak terkecuali. Artikel ini akan memperkenalkan metode untuk memecahkan kode yang kacau di ASP. Teman yang membutuhkannya bisa merujuknya.