ASP ต้องการส่วนประกอบในการเพิ่มลายน้ำให้กับรูปภาพ ซอฟต์แวร์ที่ใช้กันทั่วไป ได้แก่ ซอฟต์แวร์ aspjpeg และซอฟต์แวร์ wsImage ที่พัฒนาโดยชาวจีน คุณสามารถค้นหาและดาวน์โหลดซอฟต์แวร์ทั้งสองนี้ทางออนไลน์ได้ ขอแนะนำให้ใช้ wsImage ที่พัฒนาโดยชาวจีน เวอร์ชันภาษาจีนและใช้งานง่าย SP ต้องใช้ส่วนประกอบในการเพิ่มลายน้ำให้กับรูปภาพ... ซอฟต์แวร์ที่ใช้กันทั่วไป ได้แก่ ซอฟต์แวร์ aspjpeg และซอฟต์แวร์ wsImage ที่พัฒนาโดยชาวจีน คุณสามารถค้นหาและดาวน์โหลดซอฟต์แวร์ทั้งสองนี้ทางออนไลน์ได้ ขอแนะนำให้ใช้ wsImage ที่พัฒนาโดยชาวจีน เป็นเวอร์ชั่นภาษาจีนใช้งานง่าย
วิธีการลงทะเบียนส่วนประกอบ :
เพียงป้อน regsvr32 [Dll path] ที่พร้อมท์คำสั่ง
การเพิ่มลายน้ำให้กับรูปภาพนั้นไม่มีอะไรมากไปกว่าการเพิ่มขนาดของรูปภาพแล้วเขียนลายน้ำลงไป โค้ด ASP ทำหน้าที่เป็นส่วนประกอบควบคุมเท่านั้น ลองใช้โค้ดเพื่ออธิบายทุกอย่าง
1: รับขนาดภาพ (ที่นี่แสดงเป็นค่าพิกเซล เพื่อนที่เรียน PhotoShop ควรเข้าใจ)
คัดลอกรหัสรหัสดังต่อไปนี้:
-
set obj=server.CreateObject(wsImage.Resize) ''ส่วนประกอบการโทร
obj.LoadSoucePic server.mappath(25.jpg) ''เปิดรูปภาพ ชื่อรูปภาพคือ 25.jpg
obj.GetSourceInfo iWidth,iHeight
response.write ความกว้างของภาพ: & iWidth & <br> ''รับความกว้างของภาพ
response.write ความสูงของรูปภาพ: & iHeight & <br> ''รับความสูงของรูปภาพ
strError=obj.errorinfo
ถ้า strError<> แล้ว
การตอบสนองเขียน obj.errorinfo
สิ้นสุดถ้า
obj.ฟรี
ตั้งค่า obj=ไม่มีอะไร
-
''------------------------------------------------'' ----------------''
2: เพิ่มลายน้ำข้อความ
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ตั้ง obj = server.CreateObject (wsImage.Resize)
obj.LoadSoucePic server.mappath(25.jpg) ''โหลดรูปภาพ
obj.คุณภาพ=75
obj.TxtMarkFont = Chinese Caiyun''ตั้งค่าแบบอักษรข้อความลายน้ำ
obj.TxtMarkBond = false ''ตั้งค่าความหนาของข้อความลายน้ำ
obj.MarkRotate = 0 ''มุมการหมุนของข้อความลายน้ำ
obj.TxtMarkHeight = 25 ''ความสูงของข้อความลายน้ำ
obj.AddTxtMark server.mappath(txtMark.jpg) นำคุณออกนอกประเทศ &H00FF00&, 10, 70
strError=obj.errorinfo ''สร้างชื่อรูปภาพ สีข้อความคือตำแหน่งของลายน้ำในภาพ
ถ้า strError<> แล้ว
การตอบสนองเขียน obj.errorinfo
สิ้นสุดถ้า
obj.ฟรี
ตั้งค่า obj=ไม่มีอะไร
-
''------------------------------------------------'' ----------------''
สาม: เพิ่มลายน้ำรูปภาพ
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ตั้ง obj = server.CreateObject (wsImage.Resize)
obj.LoadSoucePic server.mappath(25.jpg) ''โหลดรูปภาพ
obj.LoadImgMarkPic server.mappath(blend.bmp) ''โหลดรูปภาพลายน้ำ
obj.คุณภาพ=75
obj.AddImgMark server.mappath(imgMark.jpg), 315, 220,&hFFFFFF, 70
strError=obj.errorinfo ''สร้างชื่อรูปภาพ สีข้อความคือตำแหน่งของลายน้ำในภาพ
ถ้า strError<> แล้ว
การตอบสนองเขียน obj.errorinfo
สิ้นสุดถ้า
obj.ฟรี
ตั้งค่า obj=ไม่มีอะไร
-
''------------------------------------------------'' ----------------''
ที่จริงแล้ว การเพิ่มลายน้ำให้กับรูปภาพนั้นทำได้ง่ายเพียงแค่นั้น จากนั้น ฉันจะพูดถึงการใช้งานหลักอีกสองประการของคอมโพเนนต์ WsImage.dll ได้แก่:
ครอบตัดรูปภาพและสร้างภาพขนาดย่อของรูปภาพ
ฉันยังคงคุ้นเคยกับการใช้โค้ดและเพิ่มความคิดเห็น:
ครอบตัดรูปภาพ:
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ตั้ง obj = server.CreateObject (wsImage.Resize)
obj.LoadSoucePic เซิร์ฟเวอร์ mappath (25.jpg)
obj.คุณภาพ=75
obj.cropImage server.mappath(25_crop.jpg),100,10,200,200 ''กำหนดขนาดครอบตัดและสร้างชื่อรูปภาพ
strError=obj.errorinfo
ถ้า strError<> แล้ว
การตอบสนองเขียน obj.errorinfo
สิ้นสุดถ้า
obj.ฟรี
ตั้งค่า obj=ไม่มีอะไร
-
หมายเหตุโดยละเอียด: วิธีการครอบตัดรูปภาพของ WsImage ใช้ในการครอบตัดรูปภาพ โดยมีการกำหนดไว้ว่าเมื่อสร้างรูปภาพ 100 และ 10 คือจุดครอบตัดที่มุมซ้ายบน นั่นคือ 100 พิกเซลจากด้านซ้ายของรูปภาพ และ 10 พิกเซลจากด้านบน 200 พิกเซลสุดท้ายแสดงถึงการครอบตัดของบรอดแบนด์และความสูงและความสูง
''------------------------------------------------'' ----------------''
สร้างภาพขนาดย่อ :
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ตั้ง obj = server.CreateObject (wsImage.Resize)
obj.LoadSoucePic server.mappath(25.jpg) ''โหลดรูปภาพ
obj.คุณภาพ=75
obj.OutputSpic server.mappath(25_s.jpg),0.5,0.5,3 ''กำหนดชื่อของภาพขนาดย่อซึ่งเป็นขนาด
strError=obj.errorinfo
ถ้า strError<> แล้ว
การตอบสนองเขียน obj.errorinfo
สิ้นสุดถ้า
obj.ฟรี
ตั้งค่า obj=ไม่มีอะไร
-
คำอธิบายโดยละเอียด:
มีวิธีการส่งออกสี่วิธีสำหรับการสร้างภาพขนาดย่อ :
(1) obj.OutputSpic เซิร์ฟเวอร์ mappath (25_s.jpg), 200,150,0
200 คือความกว้างของเอาต์พุต และ 150 คือความสูงของเอาต์พุต รูปแบบเอาต์พุตนี้จะบังคับความกว้างและความสูงของเอาต์พุต ซึ่งอาจทำให้ภาพผิดรูป
(2) obj.OutputSpic เซิร์ฟเวอร์ mappath(25_s.jpg),200,0,1
เมื่อใช้ความกว้างเอาต์พุต 200 ความสูงของเอาต์พุตจะปรับขนาดตามคอลัมน์
(3) obj.OutputSpic เซิร์ฟเวอร์ mappath(25_s.jpg),0,200,2
เมื่อใช้ความสูงเอาต์พุต 200 ความกว้างเอาต์พุตจะปรับขนาดตามคอลัมน์
(4) obj.OutputSpic เซิร์ฟเวอร์ mappath (25_s.jpg), 0.5,0.5,3
0.5 ตัวแรกหมายความว่าภาพขนาดย่อที่สร้างขึ้นมีความกว้างเพียงครึ่งหนึ่งของภาพต้นฉบับ ซึ่งหมายความว่าความกว้างจะลดลง
0.5 ตัวที่สองหมายความว่าภาพขนาดย่อที่สร้างขึ้นมีความสูงเพียงครึ่งหนึ่งของภาพต้นฉบับ ซึ่งหมายถึงอัตราส่วนการลดขนาดที่สูง
อัตราการลดความกว้างและความสูงที่เท่ากันหมายความว่ารูปภาพต้นฉบับจะถูกลดขนาดลง หากอัตราส่วนมาตราส่วนของความกว้างและความสูงมากกว่า 1 รูปภาพต้นฉบับจะถูกขยาย
2 ------------------------------------------------- -----------------------------------------------
คัดลอกรหัสรหัสดังต่อไปนี้:
-
Dim stream1,stream2,istart,iend,ชื่อไฟล์
ไอสตาร์ท=1
vbEnter=Chr(13)&Chr(10)
ฟังก์ชัน getvalue(fstr,foro,paths)'fstr คือชื่อที่ได้รับ, foro Boolean false คือการอัพโหลดไฟล์, true เป็นฟิลด์ปกติ, path คือพาธการจัดเก็บไฟล์อัพโหลด
ถ้าเป็นเช่นนั้น
รับค่า=
istart=instring(istart,fstr)
istart=istart+len(fstr)+5
iend=instring(istart,vbenter+--------------------------------)
ถ้า istart>5+len(fstr) แล้ว
getvalue=substring (istart, iend-istart)
อื่น
รับค่า=
สิ้นสุดถ้า
อื่น
istart=instring(istart,fstr)
istart=istart+len(fstr)+13
iend=instring(istart,vbenter)-1
ชื่อไฟล์ = สตริงย่อย (istart, iend-istart)
filename9=right(getfilename(filename),4)'รับคำต่อท้ายไฟล์ต้นฉบับ
filename8=ปี(ตอนนี้())&เดือน(ตอนนี้())&วัน(ตอนนี้())&ชั่วโมง(ตอนนี้())&นาที(ตอนนี้())&วินาที(ตอนนี้())&int(9*10^3*rnd)+10 ^3'รับชื่อไฟล์แบบสุ่ม
'ถ้าคุณต้องการเพิ่มความยาวชื่อไฟล์ กรุณาแก้ไขค่า 100 in (100*rnd)
filename=replace(getfilename(ชื่อไฟล์),getfilename(ชื่อไฟล์),filename8) 'แทนที่ชื่อไฟล์ต้นฉบับและใช้ฟังก์ชันแทนที่
filename=filename&filename9 'เพิ่มส่วนต่อท้ายไฟล์ กฎคือการเพิ่มส่วนต่อท้ายไฟล์ต้นฉบับให้กับชื่อไฟล์แบบสุ่มที่สร้างขึ้น
istart=instring(iend,vbenter+vbenter)+3
iend=instring(istart,vbenter+--------------------------------)
filestart=istart
ขนาดไฟล์=iend-istart-1
objstream.position=filestart
ตั้งค่า sf = Server.CreateObject (ADODB.Stream)
sf.Mode=3
sf.ประเภท=1
sf.เปิด
objstream.copyto sf,ขนาดไฟล์
ถ้าชื่อไฟล์<> แล้ว
ตั้งค่า rf = Server.CreateObject (Scripting.FileSystemObject)
ผม=0
fn=ชื่อไฟล์
ในขณะที่ rf.FileExists (server.mappath (เส้นทาง + fn))
fn=cstr(i)+ชื่อไฟล์
ฉัน=ฉัน+1
เวน
ชื่อไฟล์=fn
sf.SaveToFile server.mappath(เส้นทาง+ชื่อไฟล์),2
'''''''''''''''''''''''''''''''''''''''''''''
DimJpeg
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
ถ้า -2147221005=เกิดข้อผิดพลาด
Response.write ไม่มีส่วนประกอบดังกล่าว โปรดติดตั้ง 'ตรวจสอบว่ามีการติดตั้งส่วนประกอบ AspJpeg หรือไม่'
การตอบสนองสิ้นสุด()
สิ้นสุดถ้า
Jpeg.Open (server.mappath(paths+filename)) 'เปิดรูปภาพ
ถ้า err.number แล้ว
Response.write ไม่สามารถเปิดภาพได้ โปรดตรวจสอบเส้นทาง!
การตอบสนองสิ้นสุด()
จบถ้า
ดิ่มอ่า
aa=Jpeg.Binary 'กำหนดข้อมูลต้นฉบับให้กับ aa
'==========เพิ่มลายน้ำข้อความ==================
Jpeg.Canvas.Font.Color = &Hff0000 'สีข้อความลายน้ำ
Jpeg.Canvas.Font.Family = แบบอักษร Arial'
Jpeg.Canvas.Font.Bold = True 'ว่าจะเป็นตัวหนาหรือไม่
Jpeg.Canvas.Font.Size = ขนาดตัวอักษร 30'
Jpeg.Canvas.Font.ShadowColor = &H000000 'สีของเงา
Jpeg.Canvas.Font.ShadowYOffset = 1
Jpeg.Canvas.Font.ShadowXOffset = 1
Jpeg.Canvas.Brush.Solid = จริง
Jpeg.Canvas.Font.Quality = 4 'คุณภาพผลงาน
Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-100,Jpeg.OriginalHeight/2+20,www.my9933.com 'ตำแหน่งลายน้ำและข้อความ
bb=Jpeg.Binary 'กำหนดค่าหลังการประมวลผลลายน้ำข้อความให้กับ bb ในขณะนี้ ลายน้ำข้อความไม่มีความทึบ
'============ ปรับความโปร่งใสของข้อความ================
ตั้งค่า MyJpeg = Server.CreateObject(Persits.Jpeg)
MyJpeg.OpenBinary aa
ตั้งโลโก้ = Server.CreateObject(Persits.Jpeg)
Logo.OpenBinarybb
MyJpeg.DrawImage 0,0, Logo, 0.2 '0.3 มีความโปร่งใส
cc=MyJpeg.Binary 'กำหนดผลลัพธ์สุดท้ายให้กับ cc ในขณะนี้ สามารถสร้างภาพเป้าหมายได้
response.BinaryWrite cc 'ส่งออกไบนารี่ไปยังเบราว์เซอร์
MyJpeg.Save (server.mappath(เส้นทาง+ชื่อไฟล์))
ตั้งค่า aa=ไม่มีอะไร
setbb=ไม่มีอะไร
setcc=ไม่มีอะไร
JPEG.ปิด
MyJpeg.ปิด
โลโก้ปิด
'''''''''''''''''''''''''''''''''''''''''''''''''
สิ้นสุดถ้า
getvalue=ชื่อไฟล์
สิ้นสุดถ้า
ฟังก์ชั่นสิ้นสุด
ฟังก์ชั่นสตริงย่อย (theStart, theLen)
ดิมิ, ค, สเต็ป
objStream.Position=theStart-1
ก้านดอก=
สำหรับ i=1 ถึง theLen
ถ้า objStream.EOS ให้ออกเพื่อ
c=ascB(objStream.อ่าน(1))
ถ้า c > 127 แล้ว
ถ้า objStream.EOS ให้ออกเพื่อ
Stemp=stemp&Chr(AscW(ChrB(AscB(objStream.Read(1)))&ChrB(c)))
ฉัน=ฉัน+1
อื่น
Stemp=ก้าว&Chr(c)
สิ้นสุดถ้า
ต่อไป
subString=stem
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น inString (theStart, varStr)
สลัว i,j,bt,theLen,str
ในสตริง=0
Str=toByte(varStr)
theLen=LenB(Str)
สำหรับ i=theStart ถึง objStream.Size-theLen
ถ้า i>objstream.size ให้ออกจากฟังก์ชัน
objstream.Position=i-1
ถ้า AscB(objstream.Read(1))=AscB(midB(Str,1)) แล้ว
ในสตริง=i
สำหรับ j=2 ถึงเลน
ถ้า objstream.EOS แล้ว
ในสตริง=0
ออกเพื่อ
สิ้นสุดถ้า
ถ้า AscB(objstream.Read(1))<>AscB(MidB(Str,j,1)) แล้ว
ในสตริง=0
ออกเพื่อ
สิ้นสุดถ้า
ต่อไป
ถ้า InString<>0 ให้ออกจากฟังก์ชัน
สิ้นสุดถ้า
ต่อไป
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว GetFileName (FullPath)
ถ้า FullPath <> จากนั้น
GetFileName = กลาง(FullPath,InStrRev(FullPath, /)+1)
อื่น
GetFileName=
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน
ฟังก์ชั่น toByte(Str)
หรี่ i, iCode, c, iLow, iHigh
ถึงไบต์=
สำหรับ i=1 ถึง Len(Str)
c=กลาง(Str,i,1)
iCode =Asc(c)
ถ้า iCode<0 ดังนั้น iCode = iCode + 65535
หาก iCode>255 แล้ว
iLow = ซ้าย(Hex(Asc(c)),2)
iHigh =ขวา(ฐานสิบหก(Asc(c)),2)
toByte = toByte & chrB(&H&iLow) & chrB(&H&iHigh)
อื่น
toByte = toByte & chrB(AscB(c))
สิ้นสุดถ้า
ต่อไป
สิ้นสุดฟังก์ชัน
-
3------------------------------------------------- -----------------------------------------------
ใช้ส่วนประกอบ asp Persits.Jpeg เพื่อเพิ่มลายน้ำให้กับรูปภาพและสร้างภาพขนาดย่อ
คัดลอกรหัสรหัสดังต่อไปนี้:
-
ชื่อไฟล์=1.jpg
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
' รับเส้นทางรูปภาพต้นฉบับ
เส้นทาง = Server.MapPath (ชื่อไฟล์)
'เปิดภาพต้นฉบับ
'response.write (เส้นทาง)
JPEG. เปิดเส้นทาง
'กำหนดรายละเอียดการสร้างภาพขนาดย่อ มีหลายวิธีในการตั้งค่า วิธีต่อไปนี้คือการกำหนดอัตราส่วนภาพก่อนแล้วจึงปรับขนาดตามสัดส่วน
ถ้า Jpeg.OriginalWidth / Jpeg.OriginalHeight > 1 แล้ว
JPEG.ความกว้าง = 98
Jpeg.Height = int((98/Jpeg.OriginalWidth)*Jpeg.OriginalHeight)
elseif Jpeg.OriginalWidth / Jpeg.OriginalHeight < 1 แล้ว
JPEG.ความกว้าง = 98
Jpeg.Height= int((98/Jpeg.OriginalWidth)*Jpeg.Height)
สิ้นสุดถ้า
'ตั้งค่าเอฟเฟกต์การลับคม
JPEG คมชัด 1, 130
' สร้างภาพขนาดย่อไปยังเส้นทางที่ระบุ
การตอบกลับเขียนเซิร์ฟเวอร์ MapPath(.)
Jpeg.Save Server.MapPath(.)&/small/&ชื่อไฟล์
'response.write ชื่อไฟล์1.'
'response.write Server.MapPath(uploadpic/small)&/&filename1.'
' จงให้ความสนใจกับสองเซสชันนี้
'เซสชัน(PPP0)=GP_curPath&ชื่อไฟล์'
'เซสชัน(PPP1)=GP_curPath&small&FileName
ตั้ง JPEG = ไม่มีเลย
'สร้างภาพขนาดย่อและสิ้นสุดโดยอัตโนมัติ
'เริ่มใส่ลายน้ำรูปภาพขนาดใหญ่
'สร้างตัวอย่าง
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
'เปิดภาพเป้าหมาย
เส้นทาง = Server.MapPath (ชื่อไฟล์)
'เปิดภาพต้นฉบับ
JPEG. เปิดเส้นทาง
'เพิ่มลายน้ำข้อความ
Jpeg.Canvas.Font.Color = &HFF0000' สีแดง
Jpeg.Canvas.Font.Family = ราชวงศ์ซ่ง
Jpeg.Canvas.Font.Bold = จริง
Jpeg.Canvas.Print 10, 10, เทคโนโลยี Honglan
'บันทึกไฟล์
Jpeg.Save Server.MapPath(.)&/small/w_&ชื่อไฟล์
'ยกเลิกการลงทะเบียนวัตถุ
ตั้ง JPEG = ไม่มีเลย
'สิ้นสุดการใส่ลายน้ำรูปภาพขนาดใหญ่'
-
4------------------------------------------------- -----------------------------------------------
ใช้ ASPJPEG เพื่อสร้างโค้ดการใช้งาน ASP ที่มีลายน้ำ
คัดลอกรหัสรหัสดังต่อไปนี้:
-
คลาส qswhImg
สลัวเช่นกัน
คลาสย่อยส่วนตัว_เริ่มต้น
ตั้ง aso=CreateObject(Adodb.Stream)
aso.Mode=3
aso.Type=1
aso.เปิด
จบหมวดย่อย
Class_Terminate ย่อยส่วนตัว
ตั้ง aso=ไม่มีอะไร
จบหมวดย่อย
ฟังก์ชั่นส่วนตัว Bin2Str(Bin)
ดิม 1, Str
สำหรับ I=1 ถึง LenB(Bin)
clow=MidB(ถัง,I,1)
ถ้า ASCB(clow)<128 แล้ว
Str = Str & Chr(ASCB(โคลว์))
อื่น
ฉัน=ฉัน+1
ถ้าฉัน <= LenB(Bin) ดังนั้น Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
สิ้นสุดถ้า
ต่อไป
Bin2Str = Str
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว Num2Str (หมายเลข, ฐาน, เลนส์)
ชิวซุ่ยหวู่เหิง (2002-8-12)
รีตสลัว
เกษียณ =
ในขณะที่(หมายเลข>=ฐาน)
ret = (ฐาน mod จำนวน) & ret
num = (ฐาน mod num - num)/ฐาน
เวน
Num2Str = ขวา (สตริง (เลนส์, 0) & num & ret, เลนส์)
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว Str2Num (str, ฐาน)
ชิวซุ่ยหวู่เหิง (2002-8-12)
รีตสลัว
เกษียณ = 0
สำหรับ i=1 ถึง len(str)
ret = ret *base + cint(กลาง(str,i,1))
ต่อไป
Str2Num=ret
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว BinVal(bin)
ชิวซุยหวู่เหิง (2002-8-12)
รีตสลัว
เกษียณ = 0
สำหรับ i = lenb (bin) ถึง 1 ขั้นตอน -1
ret = ret *256 + ascb(midb(bin,i,1))
ต่อไป
BinVal=ret
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นส่วนตัว BinVal2 (bin)
ชิวซุ่ยหวู่เหิง (2002-8-12)
รีตสลัว
เกษียณ = 0
สำหรับ i = 1 ถึง lenb (bin)
ret = ret *256 + ascb(midb(bin,i,1))
ต่อไป
BinVal2=ret
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น getImageSize (filespec)
ชิวซุ่ยหวู่เหิง (2002-9-3)
สลัวรีต(3)
aso.LoadFromFile (ข้อมูลจำเพาะของไฟล์)
bFlag=aso.read(3)
เลือกกรณี hex (binVal (bFlag))
กรณี 4E5089:
aso.อ่าน(15)
ret(0)=PNG
ret(1)=BinVal2(aso.read(2))
aso.อ่าน(2)
ret(2)=BinVal2(aso.read(2))
กรณี 464947:
aso.อ่าน(3)
ret(0)=GIF
ret(1)=BinVal(aso.read(2))
ret(2)=BinVal(aso.read(2))
กรณี 535746:
aso.อ่าน(5)
binData=aso.อ่าน(1)
sConv=Num2Str(ascb(binData),2,8)
nBits=Str2Num(ซ้าย(sConv,5),2)
sConv=กลาง(sConv,6)
ในขณะที่(เลน(sConv)<nBits*4)
binData=aso.อ่าน(1)
sConv=sConv&Num2Str(ascb(binData),2,8)
เวน
ret(0)=SWF
ret(1)=int(abs(Str2Num(กลาง(sConv,1*nBits+1,nBits),2)-Str2Num(กลาง(sConv,0*nBits+1,nBits),2))/20)
ret(2)=int(abs(Str2Num(กลาง(sConv,3*nBits+1,nBits),2)-Str2Num(กลาง(sConv,2*nBits+1,nBits),2))/20)
เคส FFD8FF:
ทำ
ทำ: p1=binVal(aso.Read(1)): วนซ้ำในขณะที่ p1=255 และไม่ใช่ aso.EOS
ถ้า p1>191 และ p1<196 ให้ออกจาก do else aso.read(binval2(aso.Read(2))-2)
do:p1=binVal(aso.Read(1)):loop ในขณะที่ p1<255 และไม่ใช่ aso.EOS
วนซ้ำในขณะที่เป็นจริง
aso.อ่าน(3)
ret(0)=JPG
ret(2)=binval2(aso.อ่าน(2))
ret(1)=binval2(aso.อ่าน(2))
กรณีอื่น:
ถ้าซ้าย(Bin2Str(bFlag),2)=BM แล้ว
aso.อ่าน(15)
รีต(0)=BMP
ret(1)=binval(aso.อ่าน(4))
ret(2)=binval(aso.อ่าน(4))
อื่น
ซ้ำ(0)=
สิ้นสุดถ้า
สิ้นสุดการเลือก
ret(3)=ความกว้าง= & ret(1) & ความสูง= & ret(2) &
getimagesize=ret
ฟังก์ชันสิ้นสุด
จบคลาส
SavefullPath=326151745wldn.jpg 'การกำหนดเส้นทางรูปภาพหรือการกำหนดตัวแปรเส้นทางรูปภาพ
'หาความกว้างของภาพ'
ตั้งค่า qswh = qswhImg ใหม่
arr = qswh.getImageSize (Server.Mappath (SavefullPath))
ตั้งค่า qswh = ไม่มีเลย
str_ImgWidth=arr(1)
str_ImgHeight=arr(2)
ถ้า Int(str_ImgWidth) > 600 แล้ว
str_ImgWidth = 600
อื่น
str_ImgWidth = str_ImgWidth
สิ้นสุดถ้า
'เพิ่มลายน้ำ
ถ้า Int(str_ImgWidth) > 300 และ Int(str_ImgHeight) > 100 แล้ว
LocalFile=Server.MapPath(SavefullPath)
TargetFile=Server.MapPath(SavefullPath)
DimJpeg
ตั้ง Jpeg = Server.CreateObject(Persits.Jpeg)
ถ้า -2147221005=เกิดข้อผิดพลาด
Response.Write(<script language='javascript'>alert('This Component is not existing, please install it!'); history.back();</script>) 'ตรวจสอบว่ามีการติดตั้งส่วนประกอบ AspJpeg หรือไม่
การตอบสนองสิ้นสุด()
สิ้นสุดถ้า
Jpeg.Open (LocalFile) 'เปิดรูปภาพ
ถ้า err.number แล้ว
Response.Write(<script language='javascript'>alert('Failed to open the image, please check the path!'); history.back();</script>)
การตอบสนองสิ้นสุด()
จบถ้า
ดิ่มอ่า
aa=Jpeg.Binary 'กำหนดข้อมูลต้นฉบับให้กับ aa
'==========เพิ่มลายน้ำข้อความ==================
Jpeg.Canvas.Font.Color = &Hfffffff 'สีข้อความลายน้ำ
Jpeg.Canvas.Font.Family = Arial 'แบบอักษร
Jpeg.Canvas.Font.Bold = True 'ว่าจะเป็นตัวหนาหรือไม่
Jpeg.Canvas.Font.Size = 20 'ขนาดตัวอักษร
Jpeg.Canvas.Font.ShadowColor = &H000000 'สีของเงา
Jpeg.Canvas.Font.ShadowYOffset = 1
Jpeg.Canvas.Font.ShadowXOffset = 1
Jpeg.Canvas.Brush.Solid = จริง
Jpeg.Canvas.Font.Quality = 10 ' 'คุณภาพผลงาน
Jpeg.Canvas.PrintText Jpeg.OriginalWidth/2-40,Jpeg.OriginalHeight/2-10 ตำแหน่งลายน้ำและข้อความของการสร้างเว็บไซต์
bb=Jpeg.Binary 'กำหนดค่าหลังการประมวลผลลายน้ำข้อความให้กับ bb ในขณะนี้ ลายน้ำข้อความไม่มีความทึบ
'============ ปรับความโปร่งใสของข้อความ================
ตั้งค่า MyJpeg = Server.CreateObject(Persits.Jpeg)
MyJpeg.OpenBinary aa
ตั้งโลโก้ = Server.CreateObject(Persits.Jpeg)
Logo.OpenBinarybb
MyJpeg.DrawImage 0,0, Logo, 0.5 '0.3 มีความโปร่งใส
cc=MyJpeg.Binary 'กำหนดผลลัพธ์สุดท้ายให้กับ cc' ในขณะนี้ สามารถสร้างภาพเป้าหมายได้
Response.BinaryWrite cc 'ส่งออกไบนารี่ไปยังเบราว์เซอร์
MyJpeg.Save (ไฟล์เป้าหมาย)
ตั้งค่า aa = ไม่มีเลย
setbb=ไม่มีอะไร
setcc=ไม่มีอะไร
JPEG.ปิด
MyJpeg.ปิด
โลโก้ปิด
สิ้นสุดถ้า
'เพิ่มลายน้ำ
-