当前位置:编程学习 > asp >>

asp用AspJpeg2.0生成GIf动态图片源代码

听他们说aspjpeg组件2.0版已经支持对gif动态图片处理了,有源码分享个


<%
'直接输出 Dim Jpeg,Gif
Set Jpeg = Server.CreateObject("Persits.Jpeg") Set Gif = Jpeg.Gif
Gif.Open Server.MapPath("demo.gif") Gif.SendBinary
Set Gif=Nothing Set Jpeg=Nothing
%>

这是加了水印的

<%
'加文字水印 Dim Jpeg,Gif
Set Jpeg = Server.CreateObject("Persits.Jpeg") Set Gif = Jpeg.Gif
Gif.Open Server.MapPath("demo.gif") Gif.PenColor = 201
Gif.FontSize = 13 Gif.FontFamily = "Tahoma"
Gif.PrintText Gif.Width-80,Jpeg.Gif.Height-16, "www.zzzyk.com 站长资源库" Gif.SendBinary
Set Gif=Nothing Set Jpeg=Nothing
%>

这是缩略图效果,可以等比例缩略也可以按指定大小缩略,当然,也可以放大。

<%
'动态图片缩小放大 Dim Jpeg,Gif
Set Jpeg = Server.CreateObject("Persits.Jpeg") Set Gif = Jpeg.Gif
Gif.Open Server.MapPath("demo.gif") Gif.Resize Gif.Width \2
Gif.SendBinary Set Gif=Nothing
Set Jpeg=Nothing
%>
最新的图片合并为动态图片功能

代码如下:

<%
'多图动画输出 Dim Jpeg,Gif
Set Jpeg = Server.CreateObject("Persits.Jpeg") Set Gif = Jpeg.Gif
Dim FileNames(3)
FileNames(0) = "1.jpg" FileNames(1) = "2.jpg"
FileNames(2) = "3.jpg"
Gif.Width = 100 Gif.Height = 100
For i = 0 To 2
Jpeg.Open Server.MapPath(FileNames(i)) Jpeg.PreserveAspectRatio = True
if Jpeg.OriginalWidth > 100 or Jpeg.OriginalHeight > 100 Then if Jpeg.OriginalWidth > Jpeg.OriginalHeight Then
Jpeg.Width = 100 Else
Jpeg.Height = 100 End if
End if Gif.AddImage Jpeg, (100 - Jpeg.Width) / 2, (100 - Jpeg.Height) / 2
Gif.DisposalMethod =2 Next
Gif.SendBinary Set Gif=Nothing
Set Jpeg=Nothing
%>
最实用的莫过于Gif图片生成

代码比较复杂,需要花点时间去适应

<%
'生成动态图片 Dim Jpeg,Gif
Set Jpeg = Server.CreateObject("Persits.Jpeg") Set Gif = Jpeg.Gif
Dim MarketShare MarketShare = 6
For i = 1 to 5 Gif.AddFrame 300, 200, 0, 0
Gif.PenColor = 10 Gif.BrushColor = 10
Gif.DrawBar 0, 0, 300, 200 Gif.PenColor = 201
Gif.FontFamily = "Tahoma" Gif.FontSize = 13
Gif.PrintText 60,13, "AspJpeg 2.0 生成动态图像测试" Gif.PrintText Gif.Width-85,Jpeg.Gif.Height-16, "www.zzzyk.com 站长资源库"
Gif.PrintText 120, 50, 2003 + i Gif.PenColor = 0
Gif.BrushColor = 30 Gif.DrawPie 150, 130, 50, 0, MarketShare * 360 / 100
Gif.BrushColor = 20 Gif.DrawPie 150, 130, 50, MarketShare * 360 / 100, 360
Gif.PenColor = 210 Gif.PrintText 200, 100, MarketShare & "%"
MarketShare = MarketShare * 2 - 3 if i = 5 then Gif.Delay = 300
Next Gif.SendBinary
%>
上面的实例代码全部都是直接输出,如果需要保存处理后的图片,直接把代码里面Gif.SendBinary换成Gif.Save Server.MapPath("rotation.gif")即可!

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,