1. '参数说明
  2. 'big 原图路径(相对)
  3. 'small 生成图路径(相对)
  4. 'width_s 生成后宽度(数值型)
  5. 'height_s生成后高度(数值型)
  6. 'images/Alpha.jpg 为一个像素的白色块
  7. 'w 为边框宽度(数值型)
  8.  
  9. function get_img(byval big,byval small,byval width_s,byval height_s,byval w)
  10. If IsObjInstalled("Persits.Jpeg") Then
  11. dim Jpeg,Path
  12. dim x1,y1,x2,y2
  13. Set Jpeg = Server.CreateObject("Persits.Jpeg")
  14. Path = Server.MapPath(big)
  15. Jpeg.Open Path
  16. Jpeg.Interpolation = 2
  17. Jpeg.Quality = 100
  18. ' 设置缩略图大小(这里比例设定为50%)
  19. if Jpeg.OriginalWidth/Jpeg.OriginalHeight>=width_s/height_s then
  20. if Jpeg.OriginalWidth>width_s then
  21. Jpeg.height=height_s
  22. Jpeg.width=(Jpeg.Originalwidth*height_s)/Jpeg.Originalheight
  23. else
  24. Jpeg.Width=Jpeg.OriginalWidth
  25. Jpeg.Height=Jpeg.OriginalHeight
  26. end if
  27. else
  28. if Jpeg.Originalheight>height_s then
  29. Jpeg.Width=width_s
  30. Jpeg.Height=(Jpeg.OriginalHeight*width_s)/Jpeg.OriginalWidth
  31. else
  32. Jpeg.Width=Jpeg.OriginalWidth
  33. Jpeg.Height=Jpeg.OriginalHeight
  34. end if
  35. end if
  36. x1=(Jpeg.Width-width_s)/2
  37. y1=(Jpeg.height-height_s)/2
  38. x2=x1+width_s
  39. y2=y1+height_s
  40. '切图
  41. jpeg.crop x1,y1,x2,y2
  42.  
  43. Set Jpeg2 = Server.CreateObject("Persits.Jpeg")
  44. Jpeg2.Open Server.MapPath("images/Alpha.jpg")
  45.  
  46. '上下
  47. Jpeg2.Width=Jpeg.Width-2*w
  48. Jpeg2.Height=w
  49. Jpeg.DrawImage w,0, Jpeg2, 0.5, &HFF0000
  50. Jpeg.DrawImage w,(Jpeg.Height-w), Jpeg2, 0.5, &HFF0000
  51. '左右
  52. Jpeg2.Width=w
  53. Jpeg2.Height=Jpeg.Height
  54. Jpeg.DrawImage 0,0, Jpeg2, 0.5, &HFF0000
  55. Jpeg.DrawImage (Jpeg.Width-w),0, Jpeg2, 0.5, &HFF0000
  56. ' 保存缩略图到指定文件夹下
  57. Jpeg.Save Server.MapPath(small)
  58. ' 注销实例
  59. Set Jpeg = Nothing
  60. get_img=small
  61. else
  62. get_img=big
  63. end if
  64. end function
  65.  
  66. '==================================================
  67. '判断服务器是否支持该组件
  68. '==================================================
  69. Function IsObjInstalled(byval strClassString)
  70. On Error Resume Next
  71. IsObjInstalled = False
  72. Err = 0
  73. Dim xTestObj
  74. Set xTestObj = Server.CreateObject(strClassString)
  75. If Err = 0 Then IsObjInstalled = True
  76. If Err = -2147352567 Then IsObjInstalled = True
  77. Set xTestObj = Nothing
  78. Err = 0
  79. 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. HW6.8

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  2. Eclipse安装ADT插件

    安卓开发环境搭建,如果选择的是ADT Bundle,则包含了eclipse和adt tools.但是有些时候是在已经独立安装了Eclipse的基础上,在线安装ADT插件,就稍微麻烦了. 一.在线安装A ...

  3. 教程-经典Delphi教程网

    有理想+志同道合的人+取长补短去协同工作=完美团队一流的项目 + 三流的执行者 = 垃圾项目三流的项目 + 一流的执行者 = 完美项目 自己公司网址:http://www.kaideruixin.ic ...

  4. [Objective-c 基础 - 3.2] ARC

    A.ARC的基本原理 1.ARC的判断原则:只有没有强指针指向对象,就会立即释放对象 注意,在以下情况,会立即回收内存: (1)指针超出作用域 { Person *p1 = [[Personalloc ...

  5. Oracle- 数据库的备份

    Oracle中对数据对象和数据的管理,无疑都是使用PL/SQL Developer来进行管理,该工具也提供给我们很多方便.快捷的操作,使得我们不再为Oracle本身丑陋.难用的UI而抱怨.由于我们一般 ...

  6. [置顶] [BZOJ]2127: happiness 最小割

    happiness: Description 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友.这学期要分文理科了,每个同学对于选择文科与理科有着自己 ...

  7. linux添加ssh用户

    正好有朋友问,就转过来分享下. 转自:http://blog.sina.com.cn/s/blog_6fc583e70100n6rm.html 测试环境:CentOS 5.5 1.添加用户,首先用ad ...

  8. cocos2d-x 纹理深入研究

    转自:http://blog.csdn.net/qq51931373/article/details/9152227 1.纹理控制. 看此代码: CCSprite *pSprite = CCSprit ...

  9. TableControl大小变化

    TableControl跟随Form大小变化: 选中TableControl,而不是TablePage,右侧Layout: 可以对其设置居上.居下等位置

  10. 【54】让自己熟悉包括TR1在内的标准程序库

    1.C++0X,不确定哪一年出来,意指200X版的C++ 2.C++标准程序库的主要机能有:STL,iostreams,locals等. 3.TR1:Technical Report 1,只是一份规范 ...