aspjpeg เป็นส่วนประกอบการประมวลผลภาพที่ทรงพลังมาก เป็นเวอร์ชันภาษาอังกฤษล้วนๆ อย่างไรก็ตาม มีเวอร์ชันฟรีและเวอร์ชันแคร็กอยู่แล้ว แต่มีบทความไม่มากนักที่แนะนำอย่างละเอียดและเชิงลึก แม้ว่าจะมีเพียงรูปภาพขนาดย่อและลายน้ำของรูปภาพเท่านั้น อาจเป็นเพราะเป็นภาษาอังกฤษล้วนๆ
การใช้ aspjepg คุณสามารถทำได้เป็นหลัก:
ภาพขนาดย่อ
ลายน้ำรูปภาพ
เทคโนโลยีรหัสความปลอดภัย
การตัดภาพ
รวมรูปภาพ
การสนับสนุนฐานข้อมูล
1. ภาพขนาดย่อ
ตรวจสอบภาพที่ประมวลผลแล้ว
2. ลายน้ำรูปภาพ
-
3. รหัสความปลอดภัย
-
หลักการปิงอันหม่าคล้ายกับการใส่ลายน้ำ
-
รูปภาพของรหัสความปลอดภัยที่สร้างขึ้น
4. การตัดภาพ
-
เป็นเวลานานแล้วที่คนที่ไม่รู้เกี่ยวกับ aspjpeg คิดว่าไม่สามารถใช้มันในการตัดได้
จริงๆ แล้วมีวิธีดังกล่าวด้วย
ครอบตัด x1,y1,x2,y2
ตัดพิกัด x ของมุมซ้ายบนของสี่เหลี่ยมและพิกัด y ของมุมขวาล่างของสี่เหลี่ยม
ฉันจะสาธิตด้านล่าง
เซ็ตเจเพ็ก=
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.บันทึก
server.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 (รูปภาพ)
& /นาฬิกา.jpg
Logo.Open LogoPath
โลโก้กว้าง = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
-
Photo.DrawImage 0, 0, โลโก้
ภาพถ่ายSendBinary
วิธีการส่งออกของ sendBinary ใช้ที่นี่ แน่นอน คุณยังสามารถบันทึก dodge_viper.jpg ที่เปลี่ยนแปลงก่อนแล้วจึงป้อนเข้าไปได้ โดยส่วนตัวฉันไม่ชอบใช้วิธี sendBinary เนื่องจากมีแนวโน้มที่จะเกิดข้อผิดพลาดเมื่อความเร็วเครือข่ายช้า ไม่มากในเรื่องความเร็วเช่นกัน
6. การสนับสนุนฐานข้อมูล
-
ไม่มากที่จะพูดที่นี่ จริงๆ แล้ว มันเป็นวิธีไบนารี่ ดังที่เราทุกคนทราบกันดีว่ารูปภาพสามารถจัดเก็บเป็นไฟล์ไบนารี่ได้เมื่อจัดเก็บไว้ในฐานข้อมูลเท่านั้น โค้ดจึงเขียนอย่างเกียจคร้าน -
7. รู้เบื้องต้นเกี่ยวกับวิธีการเพิ่มเติม
-
Canvas.Line(ซ้าย, บน, ขวา, ล่าง)
วาดเส้นตรง
Canvas.วงรี(ซ้าย, บน, ขวา, ล่าง)
วาดวงรี
ผ้าใบวงกลม(X, Y,
รัศมี)
วาดวงกลม
Canvas.Bar(ซ้าย, บน, ขวา, ล่าง)
วาดรูปสี่เหลี่ยมผืนผ้าโดยมีโค้ดแนะนำอยู่
Canvas.Font.ShadowColor
สีเงาข้อความ
Canvas.Font.ShadowXOffset ตราบเท่าที่
การตั้งค่าพิกัด Shadow X
Canvas.Font.ShadowYOffset ตราบเท่าที่
การตั้งค่าพิกัด Y
Canvas.Font.BkMode เป็นสตริง
พื้นหลังข้อความ
'//------ตัวอย่างส่วนประกอบ Pollener.com AspJpeg และการสร้างลายน้ำ------เริ่ม------
'สร้างภาพตัวอย่าง: โทร
CreateView (เส้นทางไปยังไฟล์ต้นฉบับ ชื่อไฟล์ตัวอย่างและเส้นทาง)
ย่อย
CreateView(ชื่อรูปภาพ,ชื่อไฟล์ชั่วคราว)
'กำหนดตัวแปร
สลัว
ดูตัวอย่าง ImageFolderName
Dim ogvbox,objFont
กล่องโลโก้สลัว, LogoPath
LogoPath
= Server.MapPath (รูปภาพ) & /shuiyin.gif
'//เพิ่มพาธและชื่อไฟล์ของรูปภาพ (ของฉันคือ forum/images/shuiyin.gif)
เลือก กรณี
upload_ViewType
กรณี
0
' --------------------- สร้างภาพตัวอย่าง ---------------
setogvbox=
Server.CreateObject (CreatePreviewImage.cGvbox)
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)
'ดูตัวอย่างเส้นทางการจัดเก็บภาพ
ogvbox.SetPreviewImageSize =SetPreviewImageSize
'แสดงตัวอย่างความกว้าง
ogvbox.SetImageFile = ตัด (Server.MapPath (ชื่อรูปภาพ))
'เส้นทางทางกายภาพของไฟล์ต้นฉบับของ imagename
'สร้างไฟล์ภาพตัวอย่าง
ถ้า
ogvbox.DoImageProcess=false จากนั้น
Response.write สร้างข้อผิดพลาดของภาพตัวอย่าง:&
ogvbox.GetErrString
สิ้นสุดถ้า
กรณี
1
'-----------------------------------AspJpegV1.2------------------
ตั้งกล่องโลโก้ =
Server.CreateObject (Persits.Jpeg)
'//ขอแนะนำว่าอย่าใช้ลายน้ำรูปภาพและข้อความพร้อมกัน
กล่องโลโก้เปิด
LogoPath '//อ่านภาพที่เพิ่ม
'//รีเซ็ตขนาดของรูปภาพ
กล่องโลโก้.ความกว้าง = 186
'//ค่าความกว้าง (พิกเซล) ของรูปภาพที่ใช้เป็นลายน้ำ
Logobox.Height = 52
'//ค่าความสูง (พิกเซล) ของรูปภาพที่ใช้เป็นลายน้ำ
'//เพิ่มลายน้ำ
ตั้ง ogvbox =
Server.CreateObject (Persits.Jpeg)
'//อ่านไฟล์ต้นฉบับที่จะประมวลผล
ogvbox.เปิด
ตัดแต่ง (Server.MapPath (ชื่อรูปภาพ))
ถ้า ogvbox.OriginalWidth และ FileExtgif แล้ว '//ถ้าคุณเปลี่ยนบรรทัดนี้เป็น IF
โหมดรูปภาพ
จากนั้นคุณยังสามารถเพิ่มลายน้ำให้กับภาพ GIF ที่อัปโหลดได้ แต่ GIF แบบเคลื่อนไหวเหล่านั้นจะมีเฉพาะเฟรมแรกหลังจากเพิ่มลายน้ำแล้ว คุณสามารถจัดการได้ตามความต้องการของคุณ
'//เกี่ยวกับการเปลี่ยนแบบอักษรและสีข้อความ
'//ogvbox.Canvas.Font.Color
= &H0000FF '//สีของข้อความลายน้ำ ให้ป้อนค่าสีหลัง &H
'//ogvbox.Canvas.Font.Size =
18 '//ขนาดของข้อความลายน้ำ
'//ogvbox.Canvas.Font.Family = Arial
'//ชื่อแบบอักษรของข้อความลายน้ำ
'//ogvbox.Canvas.Font.ShadowColor = &H000000
'//สีเงาของข้อความลายน้ำ
'//ogvbox.Canvas.Font.ShadowXoffset = 1
'//ค่าพิกเซลของเงาข้อความลายน้ำเลื่อนไปทางขวา ป้อนค่าลบเพื่อเลื่อนไปทางซ้าย
'//ogvbox.Canvas.Font.ShadowYoffset = 1
'//ค่าพิกเซลที่ใช้เลื่อนเงาข้อความลายน้ำลงด้านล่าง หากคุณป้อนค่าลบ เงานั้นจะเลื่อนไปทางขวา
'//ogvbox.Canvas.Font.Quality = 3
'//ความชัดเจนของข้อความลายน้ำอยู่ระหว่าง 0 ถึง 4 การเปลี่ยนแปลงมีขนาดไม่ใหญ่มาก ขอแนะนำให้ใช้ 2 หรือ 3
'//ogvbox.Canvas.Font.Bold = จริง
'//ไม่ว่าข้อความลายน้ำจะเป็นตัวหนา True=bold False=normal
'ogvbox.Canvas.พิมพ์ 10, 10,
ImageMode '//พิกัดเริ่มต้น (พิกเซล) ของข้อความลายน้ำ
ogvbox.Canvas.Pen.Color=
&H000000 '//สีเส้นขอบของรูปภาพหลังจากใส่ลายน้ำแล้ว
ogvbox.Canvas.Pen.Width = 1
'//เพิ่มความกว้างของเส้นขอบของรูปภาพหลังใส่ลายน้ำ
ogvbox.Canvas.Brush.Solid = เท็จ
'//ไม่ว่าขอบจะเติมสีก็ลองดูได้ครับว่าจะเห็นผลเมื่อค่าเป็น True^o^
ogvbox.DrawImage ogvbox.width-186,
ogvbox.height-52, Logobox, 0.5 '//พิกัดเริ่มต้นของภาพลายน้ำ นี่คือ ogvbox.width-186,
ogvbox.height-52 หมายความว่ารูปภาพอยู่ที่มุมขวาล่าง เนื่องจากรูปภาพของฉันมีความกว้าง 186 และสูง 52 ดังนั้นหากคุณเขียนแบบนี้คุณสามารถปรับเปลี่ยนตามรูปภาพของคุณเองได้ 0.5 หมายถึงความโปร่งใส ในที่นี้ฉันหมายถึงความโปร่งแสง 1 หมายถึงความทึบ คุณสามารถลองใช้ 0.7 หรือ 0.8 เพื่อดูเอฟเฟกต์ก็ได้
ogvbox.Canvas.Bar
0, 0, ogvbox.ความกว้าง, ogvbox.ความสูง
'//ช่วงลายน้ำที่มีอยู่ สิ่งที่ฉันหมายถึงที่นี่คือคุณสามารถเพิ่มลายน้ำได้ทุกที่ตั้งแต่มุมซ้ายบนไปจนถึงมุมขวาล่างของรูปภาพทั้งหมด
ogvbox บันทึก
Server.MapPath(imagename) '//สร้างไฟล์รูปภาพโดยเพิ่มลายน้ำตามพารามิเตอร์ข้างต้น
จบ
ถ้า
ogvbox.Width = ความกว้างของรูปภาพ
ogvbox.height =
ความสูงของรูปภาพ
'ogvbox.height =
ogvbox.Originalheight*ImageWidth/ogvbox.OriginalWidth
ogvbox.คมชัด 1, 120
ogvbox บันทึก
Server.MapPath(tempFilename) '//สร้างภาพตัวอย่างของภาพหลังจากเพิ่มลายน้ำ
จบ
ถ้า
ตั้ง Logobox=ไม่มีอะไร
'///------Pollener.com
ดูตัวอย่างและการสร้างลายน้ำของส่วนประกอบ AspJpeg ------ สิ้นสุด -----