AspJpeg V1.5.0 เวอร์ชันถอดรหัส
วิธีใช้ส่วนประกอบ aspjpeg aspjpeg เป็นส่วนประกอบการประมวลผลภาพที่ทรงพลังมาก เวอร์ชันภาษาอังกฤษล้วนๆ อย่างไรก็ตาม มีเวอร์ชันฟรีและเวอร์ชันแคร็กอยู่แล้ว แต่มีบทความไม่มากนักที่แนะนำอย่างละเอียดและเชิงลึก แม้ว่าจะมีเพียงรูปภาพขนาดย่อและลายน้ำของรูปภาพเท่านั้น อาจเป็นเพราะเป็นภาษาอังกฤษล้วนๆการใช้ aspjepg คุณสามารถทำได้เป็นหลัก:
ภาพขนาดย่อ
ลายน้ำรูปภาพ
เทคโนโลยีรหัสความปลอดภัย
การตัดภาพ
รวมรูปภาพ
การสนับสนุนฐานข้อมูล
1. ภาพขนาดย่อ
-
ตั้งค่า Jpeg = Server.CreateObject(Persits.Jpeg) เรียกส่วนประกอบ
Path = Server.MapPath(images) & /clock.jpg เส้นทางของรูปภาพที่จะประมวลผล
Jpeg.Open Path จะเปิดรูปภาพ
ความสูงและความกว้างคือ 1/2 ของรูปภาพต้นฉบับ
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
บันทึกภาพ
Jpeg.Save Server.MapPath (รูปภาพ) & /clock_small.jpg
-
<IMG SRC=images/clock_small.jpg> ดูภาพที่ประมวลผล
2. ลายน้ำรูปภาพ
-
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
Jpeg.Open Server.MapPath (รูปภาพ/dodge_viper.jpg)
เริ่มเขียนข้อความ
Jpeg.Canvas.Font.Color = &000000'' สีแดง
Jpeg.Canvas.Font.Family = แบบอักษรใหม่ของ Courier
Jpeg.Canvas.Font.Bold = จริงว่าจะเป็นตัวหนาหรือไม่
Jpeg.Canvas.Print 10, 10, ลิขสิทธิ์ (c) XYZ, Inc.
พิมพ์พิกัด x พิมพ์พิกัด y ตัวอักษรที่จะพิมพ์
ต่อไปนี้คือการประมวลผลเส้นขอบของรูปภาพ
Jpeg.Canvas.Pen.Color = &H000000'' สีดำ
Jpeg.Canvas.Pen.Width = ความกว้างของแปรง 2 อัน
Jpeg.Canvas.Brush.Solid = เท็จว่าจะเป็นตัวหนาหรือไม่
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
พิกัดเริ่มต้น X พิกัดเริ่มต้น Y ความยาวอินพุต ความสูงของอินพุต
Jpeg.Save Server.MapPath(images/dodge_viper_framed.jpg) บันทึก
-
3. รหัสความปลอดภัย
หลักการปิงอันหม่าคล้ายกับการใส่ลายน้ำ
-
ฟังก์ชั่นสร้างรหัสความปลอดภัย
ฟังก์ชัน make_randomize(max_len,w_n) max_len สร้างความยาว, w_n: 0 อาจมีตัวอักษร, 1: ตัวเลขเท่านั้น
สุ่ม
สำหรับ intcounter=1 ถึง max_len
whatnext=int((1-0+1)*rnd+w_n)
ถ้า whatnext=0 แล้ว
บน=122
ล่าง=97
อื่น
บน=57
ล่าง=48
สิ้นสุดถ้า
strnewpass=strnewpass & chr(int((บน-ล่าง+1)*rnd)+ล่าง)
ต่อไป
make_randomize=strnewpass
ฟังก์ชั่นสิ้นสุด
-
รูปภาพของรหัสความปลอดภัยที่สร้างขึ้น
<%random_num=make_randomize(4,1) สร้างรหัสความปลอดภัย 4 หลัก
session(random_num)=random_num ทำไมเซสชันการโทร มันไม่มีความหมายเลยหากไม่มีรหัสความปลอดภัยของเซสชัน อิอิ
ตั้งค่า Jpeg = Server.CreateObject(Persits.Jpeg) เรียกส่วนประกอบ
Jpeg.Open Server.MapPath(infos/random_pic/random_index.gif) เปิดภาพที่เตรียมไว้
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = Arial Black
Jpeg.Canvas.Font.Bold = เท็จ
Jpeg.Canvas.PrintText 0, -2, Random_num
jpeg.save Server.MapPath (ข้อมูล/random_pic/random_index.bmp) บันทึก
-
<img src=infos/random_pic/random_index.bmp border=0 align=absmiddle>
4. การตัดภาพ
เป็นเวลานานแล้วที่คนที่ไม่รู้เกี่ยวกับ aspjpeg คิดว่าไม่สามารถใช้มันในการตัดได้
จริงๆ แล้วมีวิธีดังกล่าวด้วย
ครอบตัด x1,y1,x2,y2
ตัดพิกัด x ของมุมซ้ายบนของสี่เหลี่ยมและพิกัด y ของมุมขวาล่างของสี่เหลี่ยม
ฉันจะสาธิตด้านล่าง
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
เซิร์ฟเวอร์ jpeg.openMapPath(/pic/1.gif)
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 จริงๆ แล้วการเริ่มตัดคือการเอาส่วนล่างที่เกิน 52 พิกเซลออก
เซิร์ฟเวอร์ jpeg.save.MapPath(/temp_pic/small_1.gif) บันทึก
5. การรวมรูปภาพ
ที่นี่เราจะเพิ่มรูปภาพโลโก้ให้กับรูปภาพ dodge_viper.jpg
ตั้งค่ารูปถ่าย = Server.CreateObject (Persits.Jpeg)
PhotoPath = Server.MapPath (รูปภาพ) & /dodge_viper.jpg
ภาพถ่าย เปิด PhotoPath
ตั้งโลโก้ = Server.CreateObject(Persits.Jpeg)
LogoPath = Server.MapPath (รูปภาพ) & /clock.jpg
Logo.Open LogoPath
โลโก้กว้าง = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, โลโก้
Photo.SendBinary วิธีการส่งออกของ sendBinary ใช้ที่นี่ แน่นอน คุณยังสามารถบันทึก dodge_viper.jpg ที่เปลี่ยนแปลงก่อนแล้วจึงป้อนเข้าไป โดยส่วนตัวฉันไม่ชอบใช้วิธี sendBinary เนื่องจากมีแนวโน้มที่จะเกิดข้อผิดพลาดเมื่อความเร็วเครือข่ายช้า ไม่มากในเรื่องความเร็วเช่นกัน
6. การสนับสนุนฐานข้อมูล
ไม่มากที่จะพูดที่นี่ จริงๆ แล้ว มันเป็นวิธีไบนารี่ ดังที่เราทุกคนทราบกันดีว่ารูปภาพสามารถจัดเก็บเป็นไฟล์ไบนารี่ได้เมื่อจัดเก็บไว้ในฐานข้อมูลเท่านั้น โค้ดจึงเขียนอย่างเกียจคร้าน -
7. แนะนำวิธีการเพิ่มเติม
Canvas.Line(ซ้าย, บน, ขวา, ล่าง)
วาดเส้นตรง
Canvas.วงรี(ซ้าย, บน, ขวา, ล่าง)
วาดวงรี
Canvas.Circle(X, Y, รัศมี)
วาดวงกลม
Canvas.Bar(ซ้าย, บน, ขวา, ล่าง)
วาดรูปสี่เหลี่ยมผืนผ้าโดยมีโค้ดแนะนำอยู่
Canvas.Font.ShadowColor
สีเงาข้อความ
Canvas.Font.ShadowXOffset ตราบเท่าที่
การตั้งค่าพิกัด Shadow X
Canvas.Font.ShadowYOffset ตราบเท่าที่
การตั้งค่าพิกัด Y
Canvas.Font.BkMode เป็นสตริง
พื้นหลังข้อความ