第一章 入门和快速起步

AspJpeg为何物?

AspJpeg是一个用在Microsoft IIS 环境中的高级图像管理组件。

AspJpeg使你的Asp/Asp.NET应用程序能够只用寥寥几行代码就动态地创建高品质的图像缩略图。一个原始的旬可以是以下格式中的任一种:JPEG、GIF、BMP、TIFF或PNG。

该组件能够与AspUpload组件配合使用,AspUpload组件是一个领先的文件上传组件,由Persits软件公司开发。两者配合使用可以在图像被上传到网站服务器的时候创建缩略图。

功能摘要

  • 支持JPEG、GIF、BMP、TIFF和PNG格式作为输入。
  • 源图像可以从磁盘中打开、从内存中打开,或者从记录集中打开。
  • 经过尺寸缩放的图像可以保存到磁盘、保存到内存中或者保存为HTTP流。
  • 支持三种尺寸缩放的算法:最邻近、两次线性、两次立方。
  • 在图像的顶部绘图或打字。支持TrueType字体和Type 1字体。
  • 自动词语分行、文本可以向左对齐、向右对齐、居中或平均分枰,还可以旋转。
  • 支持画中画。
  • 剪切、翻转、旋转、锐化、灰色转换。
  • 可以调整输出图像的压缩率,以优化品质、优化文件大小。
  • 从JPEG图像中提取EXIF和IPTC元数据。
  • 在缩放尺寸的过程中保留图像的元数据。
  • 添加和编辑IPTC元数据。
  • CMYK到RGB的转换。
  • Sepia滤镜。
  • 对图像的单个像素的读写访问。
  • 支持PNG的alpha通道。
  • PNG输出、alpha通道的保留。
  • 支持GIF透明度。
  • 亮度、对比度和饱和度调整。
  • GIF输出、透明度以及动画保留。
  • JPEG到GIF的转换。
  • 抗锯齿绘图常规方法。
  • 透视投影。
  • 高斯模糊、查找边缘、阈值,以及其它滤镜。
  • 色度关键效果。

系统需求

Windows NT/2000/XP/2003/Vista/2008/7/2012/8以及

IIS 4.0+带有ASP/ASP.NET,或者Visual Basic 5.0+或者Visual C++ 5.0+或者任何其它支持COM的开发环境。

安装过程

安装包aspjpeg.exe安装并注册AspJpeg组件,并把文档和范例安装到你选择的目录中。要想把AspJpeg安装到别的电脑上,只需要把文件aspjpeg.dll复制到另外的系统中,并用以下的regsvr32命令行条目注册它:

c:>regsvr32 c:\path\aspjpeg.dll

如果机器已经运行了一个旧版本的组件,你需要关闭并重启IIS服务,以从内存中移除旧版本的DLL,如下所示:

c:>net stop iisadmin /y c:>net start w3svc

该安装包发装了AspJpeg组件的30天评估版。该评估版是全功能的,亦即,没有功能被禁用或者受限制。30天后,该组件将抛出一个期满错误,除非输入了一个注册密钥。可以在这里购买一个注册密钥。一旦输入了一个密钥,你可以把它导入到系统注册表中,不需要重新安装这个组件。你的网站服务器也不需要关闭。

强烈推荐在\Sample目录以及它的子目录中调整NTFS授权,以避免在运行代码示例时出现“访问被禁止”或者别的错误。使用Windows文件资源管理器,右击目录c:\Program Files\Persits Software\AspJpeg\Samples,选择“安全”选项卡,交给“Everyone”帐户完全控制这个文件夹的权限。点击“高级...”,并确保勾选框“在所有的子对象上重置授权”被勾选中,如下所示:

期满机制

与其它Persits软件公司的组件比如说AspUpload和AspEmail相似,AspJpeg也使用一个基于注册密钥的期满机制。一旦购买 了这个组件的副本,注册密钥将通过电子邮件发送给客户。

一旦密钥被接受,它必须被安装在系统注册表中,位于HKEY_LOCAL_MACHINE\Software\Persits Software\AspJpeg\RegKey作为默认值。 AspJpeg.exe的安装包将自动把密钥放在这个注册表位置中,或者你可以选择用注册表编辑器手工完成它。

该注册键另外还可以利用顶层AspJpeg对象中的属性RegKey,在你在代码中指令,如下所示:

Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.RegKey = "12345-67890-12345"...

该组件的当前期满日期可以通过属性Expires来读取,如下所示:

Set Jpeg = Server.CreateObject("Persits.Jpeg")
Response.Write Jpeg.Expires

如果该属性返回9/9/9999,意味着已经用了一个永久的注册。

快速起步

以下代码示例从磁盘中打开了一个图像,然后创建了该图像的50%缩小的缩略图:

VB Script:

<% 
' Create instance of AspJpeg
Set Jpeg = Server.CreateObject("Persits.Jpeg")
' Compute path to source image
Path = Server.MapPath("../images/apple.jpg")

' Open source image
Jpeg.Open Path

' Decrease image size by 50%
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2

' create thumbnail and save it to disk
Jpeg.Save Server.MapPath("apple_small.jpg")

%>

C#:

<script runat="server" LANGUAGE="C#">
void Page_Load(Object Source, EventArgs E)
{
ASPJPEGLib.IASPJpeg objJpeg;
objJpeg = new ASPJPEGLib.ASPJpeg();

// Compute path to source image
String strPath = Server.MapPath("../images/apple.jpg");

// Open source image
objJpeg.Open( strPath );

// Decrease image size by 50%
objJpeg.Width = objJpeg.OriginalWidth / 2;
objJpeg.Height = objJpeg.OriginalHeight / 2;

// Create thumbnail and save it to disk
objJpeg.Save( Server.MapPath("clock_small.jpg" ) );

OriginalImage.Src = "apple.jpg";
SmallImage.Src = "apple_small.jpg";
}

</script>

点击以下链接以运行该代码示例:

http://localhost/aspjpeg/manual_01/01_quickstart.asp

http://localhost/aspjpeg/manual_01/01_quickstart.aspx

如果你喜欢这篇文章,敬请给站长打赏↑

除特别注明外,本站所有文章均为本站站长原译,转载请注明出处。