'参数说明
'big 原图路径(相对)
'small 生成图路径(相对)
'width_s 生成后宽度(数值型)
'height_s生成后高度(数值型)
'images/Alpha.jpg 为一个像素的白色块
'w 为边框宽度(数值型) function get_img(byval big,byval small,byval width_s,byval height_s,byval w)
If IsObjInstalled("Persits.Jpeg") Then
dim Jpeg,Path
dim x1,y1,x2,y2
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Path = Server.MapPath(big)
Jpeg.Open Path
Jpeg.Interpolation = 2
Jpeg.Quality = 100
' 设置缩略图大小(这里比例设定为50%)
if Jpeg.OriginalWidth/Jpeg.OriginalHeight>=width_s/height_s then
if Jpeg.OriginalWidth>width_s then
Jpeg.height=height_s
Jpeg.width=(Jpeg.Originalwidth*height_s)/Jpeg.Originalheight
else
Jpeg.Width=Jpeg.OriginalWidth
Jpeg.Height=Jpeg.OriginalHeight
end if
else
if Jpeg.Originalheight>height_s then
Jpeg.Width=width_s
Jpeg.Height=(Jpeg.OriginalHeight*width_s)/Jpeg.OriginalWidth
else
Jpeg.Width=Jpeg.OriginalWidth
Jpeg.Height=Jpeg.OriginalHeight
end if
end if
x1=(Jpeg.Width-width_s)/2
y1=(Jpeg.height-height_s)/2
x2=x1+width_s
y2=y1+height_s
'切图
jpeg.crop x1,y1,x2,y2 Set Jpeg2 = Server.CreateObject("Persits.Jpeg")
Jpeg2.Open Server.MapPath("images/Alpha.jpg") '上下
Jpeg2.Width=Jpeg.Width-2*w
Jpeg2.Height=w
Jpeg.DrawImage w,0, Jpeg2, 0.5, &HFF0000
Jpeg.DrawImage w,(Jpeg.Height-w), Jpeg2, 0.5, &HFF0000
'左右
Jpeg2.Width=w
Jpeg2.Height=Jpeg.Height
Jpeg.DrawImage 0,0, Jpeg2, 0.5, &HFF0000
Jpeg.DrawImage (Jpeg.Width-w),0, Jpeg2, 0.5, &HFF0000
' 保存缩略图到指定文件夹下
Jpeg.Save Server.MapPath(small)
' 注销实例
Set Jpeg = Nothing
get_img=small
else
get_img=big
end if
end function '==================================================
'判断服务器是否支持该组件
'==================================================
Function IsObjInstalled(byval strClassString)
On Error Resume Next
IsObjInstalled = False
Err = 0
Dim xTestObj
Set xTestObj = Server.CreateObject(strClassString)
If Err = 0 Then IsObjInstalled = True
If Err = -2147352567 Then IsObjInstalled = True
Set xTestObj = Nothing
Err = 0
End Function

  

aspjpeg 半透明描边的实现函数的更多相关文章

  1. GDI+用PNG图片做半透明异型窗口

    http://hi.baidu.com/bluew/blog/item/2ecbe58bf93a937d9f2fb4de.html2007-08-09 00:52 我是用PNG图片Alpha透明的方式 ...

  2. Quartz-2D绘图之路径(Paths)详解

    在上篇文章中,我们简单的理解了绘图上下文,今天我们来认识一下Quartz-2D中另一个重要的概念,路径(Paths). 一.理解路径 路径定义了一个或多个形状,或是子路径.一个子路径可由直线,曲线,或 ...

  3. [matlab] 19.matlab 基础几何学

    polyshape  函数可创建由二维顶点定义的多边形,并返回具有描述其顶点.实心区域和孔的各种属性的 polyshape 对象.例如,pgon = polyshape([0 0 1 1],[1 0 ...

  4. canvas学习(一):线条,图像变换和状态保存

    canvas学习(一):线条,图像变换和状态保存 一:绘制一条线段: var canvas = document.getElementById('canvas') var ctx = canvas.g ...

  5. Python之那些好玩的图画

    前言: matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.本文将以例子的形式分析matplot中支持的,分析中常用的几种图.其 ...

  6. 自绘实现半透明水晶按钮(继承CButton,设置BS_OWNERDRAW风格,覆盖DrawItem函数绘制按钮,把父窗口的背景复制到按钮上,实现视觉上的透明,最后通过AlphaBlend实现半透明)

    运行效果 实现方法 1.给按钮加上BS_OWNERDRAW样式2.重载DrawItem函数,在这里绘制按钮3.关键之处就是把父窗口的背景复制到按钮上,实现视觉上的透明4.最后通过AlphaBlend实 ...

  7. 设置windows窗口半透明(使用SetLayeredWindowAttributes API函数)

    所需函数原型:BOOL WINAPI SetLayeredWindowAttributes(HWND hWnd,  COLORREFcrKey,  BYTE bAlpha,  DWORD flag); ...

  8. 在UnrealEngine中用Custom节点实现描边效果

    在<Real Time Rendering, third edition>一书中,作者把描边算法分成了5种类型.1.基于观察角度与表面法线的轮廓渲染.缺点很明显.2.过程式几何轮廓渲染.即 ...

  9. Canvas绘图中的路径描边与填充

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

随机推荐

  1. Guide to make CentOS 7 the perfect desktop

    原文地址:  http://www.dedoimedo.com/computers/fedora-pimp.html My original review of CentOS 7 was less e ...

  2. Uber将在泰国首推"优步摩托"服务

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. nyoj 289 苹果

    苹果 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 ctest有n个苹果,要将它放入容量为v的背包.给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值. ...

  4. LDO稳压器工作原理

    LDO稳压器工作原理 随着便携式设备(电池供电)在过去十年间的快速增长,像原来的业界标准 LM340 和LM317 这样的稳压器件已经无法满足新的需要.这些稳压器使用NPN 达林顿管,在本文中称其为N ...

  5. SignalTap II逻辑分析仪的使用

    一.例子 我们使用如图1所示的verilog代码所实现的开关电路作为例子.这个电路把DE系列开发板上的前8个开关简单的和对应的8个红色LED相连接.它是这样工作的:在时钟(CLOCK_50)的上升沿读 ...

  6. android四大功能组件概要总结

    1.activity  某一个activity对应于app中的一个具体的页面.而intent是具些activity都具有的同类型操作的抽象,比如Main View Edit PICK 已及所对应的数据 ...

  7. 修改 suse 上的postfix 的日志路径

    刚刚搭建的邮件服务器,没过多久硬盘就爆满了,不得已移动存储,包括日志. 移动存储灰常简单,查找 /etc/postfix/main.cf 中的 data_directory / base_direct ...

  8. 2015北京网络赛 F Couple Trees 暴力倍增

    Couple Trees Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/problemset/problem/123 ...

  9. BZOJ 1090: [SCOI2003]字符串折叠 区间DP

    1090: [SCOI2003]字符串折叠 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/p ...

  10. BZOJ 1934: [Shoi2007]Vote 善意的投票 最小割

    1934: [Shoi2007]Vote 善意的投票 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...