C#缩略图多路径多格式保存的实例

时间:2021-10-29 18:12:36 


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就只能手写了,没什么办法。反正一次写了以后也不改动了。

标签:缩略图,格式,保存
0
投稿

猜你喜欢

  • 在 C# 中使用 插值字符串

    2023-06-23 07:09:50
  • java实现通讯录管理系统

    2021-07-02 00:19:53
  • C#版Tesseract库的使用技巧

    2023-01-24 20:07:53
  • C# 对文件与文件夹的操作包括删除、移动与复制

    2023-11-16 07:20:46
  • Android activity和view判断滑动

    2021-09-18 17:25:17
  • ShardingSphere解析SQL示例详解

    2023-11-23 13:57:55
  • Java自定义标签用法实例分析

    2023-02-28 21:58:55
  • Android基于TextView属性android:ellipsize实现跑马灯效果的方法

    2022-09-28 15:59:55
  • Android利用二阶贝塞尔曲线实现添加购物车动画详解

    2022-03-01 09:49:49
  • Java操作MongoDB模糊查询和分页查询

    2023-03-12 20:31:22
  • android recyclerview模拟聊天界面

    2022-01-19 17:02:42
  • PopupWindow+RecyclerView实现上下滑动框功能

    2023-06-24 16:38:24
  • MyBatis的注解使用、ORM层优化方式(懒加载和缓存)

    2023-04-24 09:16:13
  • C++基础概念讲述

    2022-10-31 16:56:05
  • Android调用摄像头拍照开发教程

    2023-05-24 11:33:33
  • 5分钟快速学会spring boot整合JdbcTemplate的方法

    2022-04-01 15:56:11
  • Java List 用法实例详解

    2022-11-29 05:27:20
  • Android调用相机并将照片存储到sd卡上实现方法

    2023-11-06 00:41:41
  • 在SpringBoot中通过jasypt进行加密解密的方法

    2023-11-15 21:29:23
  • Unity Shader实现裁切效果

    2023-03-05 07:54:24
  • asp之家 软件编程 m.aspxhome.com