.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
缩略图多路径多格式保存

作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站

先把代码版出来

using System;
using System.Drawing;

namespace PubLib
{
 /// <summary>
 /// PicShow 的摘要说明。
 /// </summary>
 public class PicShow
 {
  public PicShow()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  //查找图片文件是否存在
  public static string ViewPIC(string PicPath, string PicName)
  {
   
   string BigPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
   string SmlPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+PicPath+"/"+PicName;

   if (null==PicName || false==System.IO.File.Exists(BigPic)) //大图名称为空或文件不存在
    PicName = "nopic.jpg";

   string OutPic = "MoviePIC/"+PicPath+"/"+PicName;

   if (!System.IO.File.Exists(SmlPic)) //查找小图不存在
   {
    CreatePIC(PicPath, PicName);
    return OutPic;
   }
   return OutPic;
  }

  //创建缩略图
  public static void CreatePIC(string PicPath, string PicName)
  {
   int iWidth,iHeight;
   if (null!=PicPath && PicPath.IndexOf("X")>1)
   {
    char[] spliter = {'X'};
    string[] aPicPath = PicPath.Split(spliter,2);
    iWidth  = Int32.Parse(aPicPath[0]);
    iHeight = Int32.Parse(aPicPath[1]);

    string BigPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+Checks.HM_PICROOTPATH+"/"+PicName;
    string SmlPic = Checks.HM_PHYSICSROOT + "MoviePIC/"+PicPath+"/"+PicName;
    Image BigImage = Image.FromFile(BigPic);
    Image SmlImage = BigImage.GetThumbnailImage(iWidth,iHeight,null,new System.IntPtr());
    SmlImage.Save(SmlPic,System.Drawing.Imaging.ImageFormat.Jpeg);
    BigImage.Dispose();
    SmlImage.Dispose();
   }
  }
 }
}

Checks.HM_PHYSICSROOT 是一个静态变量是系统的根路径,你问怎么获得?其实很简单你可以直接写个路径给它。虽然不灵活但也还算简单。我是这么搞的

public static string HM_PHYSICSROOT   = AppDomain.CurrentDomain.BaseDirectory;

(其实也简单顾弄玄虚:~)

多路径,也就是说的有点吓人而已,你在生成缩略图的时候指定一个路径就可以了。就是这个参数PicPath是要你手工指定的,多格式说白了就是大小可以调整。我的方法是路径就是大小,比如200*300的图片路径就叫200X300嘿嘿,(上当了吧)~~没事傻人有傻办法啊~~

当然要指定一个图片原始路径,不然从那里得到图片来生成缩略啊。这个Checks.HM_PICROOTPATH就只能手写了,没什么办法。反正一次写了以后也不改动了。

时间紧迫,没时间多讲,看了不懂就留言,必复!必复!呵呵,就这么着了,886




相关文章

相关软件