`
javatoyou
  • 浏览: 1023116 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

图片通用上传文件类(处理水印,缩略图)

 
阅读更多
/************************************************************************************
* Copyright (C) 2007 supesoft.com,All Rights Reserved *
* File: *
* FileUpLoadCommon.cs *
* Description: *
* 通用上传文件类 *
* Author: *
* Lzppcc *
* Lzppcc@hotmail.com *
* http://www.supesoft.com *
* Finish DateTime: *
* 2007年8月6日 *
* History: *
***********************************************************************************/
  1. usingSystem;
  2. usingSystem.Collections.Generic;
  3. usingSystem.Text;
  4. usingSystem.Web.UI.WebControls;
  5. usingSystem.IO;
  6. usingSystem.Web;
  7. usingSystem.Drawing;
  8. namespaceFrameWork
  9. {
  10. ///&ltsummary>
  11. ///通用上传文件类
  12. ///</summary>
  13. publicclassFileUpLoadCommon
  14. {
  15. #region"PrivateVariables"
  16. privatestring_path;//上传文件的路径
  17. privatestring_fileName;//文件名称
  18. privatestring_newFileName="";//新的文件名
  19. privatestring_fileName_s;//缩略图文件名称
  20. privatestring_fileName_sy;//水印图文件名称(文字)
  21. privatestring_fileName_syp;//水印图文件名称(图片)
  22. privatestring_webFilePath;//服务器端文件路径
  23. privatestring_webFilePath_s;  //服务器端缩略图路径
  24. privatestring_webFilePath_sy; //服务器端带水印图路径(文字)
  25. privatestring_webFilePath_syp; //服务器端带水印图路径(图片)
  26. privatestring_webFilePath_sypf; //服务器端水印图路径(图片)
  27. privatestring_errorMsg;//错误信息
  28. privatebool_isDate=true;//是否加上日期
  29. privatebool_isThumbnail=true;//是否产生缩图
  30. privatebool_isWatermarkT=false;//是否产生水印文字
  31. privatebool_isWatermarkP=false;//是否产生水印叠加图片
  32. privatebool_isOnly=true;//是否只产生一个文件,原始文件+加水印文字+加水印图片
  33. //privatebool_isImage=true;//是否只充许图片
  34. privateint_width=Common.UpImgWidth;//缩图宽度
  35. privateint_height=Common.UpImgHeight;//缩图高度
  36. privatestring_mode="Auto";//缩图模式"HW"://指定高宽缩放(可能变形)"W"//指定宽,高按比例"H"//指定高,宽按比例"Cut"://指定高宽裁减(不变形)Auto:自动
  37. privatestring_addText="Moliyo.com";//水印文字
  38. privatestring_addPicture=Common.UpLoadDir+"shuiyin.jpg";//水印文字
  39. privateint_fileSize=0;//图片大小
  40. privateint_fileWidth=0;//图片宽度
  41. privateint_fileHeight=0;//图片高度
  42. privatestring_fileType;//文件类型
  43. #endregion
  44. #region属性--旧文件名
  45. ///&ltsummary>
  46. ///旧文件名
  47. ///</summary>
  48. publicstringfileName
  49. {
  50. get
  51. {
  52. return_fileName;
  53. }
  54. }
  55. #endregion
  56. #region属性--上传后新文件名
  57. ///&ltsummary>
  58. ///上传后新文件名
  59. ///</summary>
  60. publicstringnewFileName
  61. {
  62. get
  63. {
  64. return_newFileName;
  65. }
  66. }
  67. #endregion
  68. #region属性--缩图文件名
  69. ///&ltsummary>
  70. ///缩图文件名
  71. ///</summary>
  72. publicstringfileName_s
  73. {
  74. get
  75. {
  76. return_fileName_s;
  77. }
  78. }
  79. #endregion
  80. #region属性--加文字水印的图片
  81. ///&ltsummary>
  82. ///加文字水印的图片
  83. ///</summary>
  84. publicstringfileName_sy
  85. {
  86. get
  87. {
  88. return_fileName_sy;
  89. }
  90. }
  91. #endregion
  92. #region属性--加图片水印的图片
  93. ///&ltsummary>
  94. ///加图片水印的图片
  95. ///</summary>
  96. publicstringfileName_syp
  97. {
  98. get
  99. {
  100. return_fileName_syp;
  101. }
  102. }
  103. #endregion
  104. #region属性--上传的文件的路径
  105. ///&ltsummary>
  106. ///上传的文件的路径
  107. ///</summary>
  108. publicstringpath
  109. {
  110. get
  111. {
  112. return_path;
  113. }
  114. }
  115. #endregion
  116. #region属性--文件大小
  117. ///&ltsummary>
  118. ///文件大小
  119. ///</summary>
  120. publicintfileSize
  121. {
  122. get
  123. {
  124. return_fileSize;
  125. }
  126. }
  127. #endregion
  128. #region属性--图片原始的宽度
  129. ///&ltsummary>
  130. ///图片原始的宽度
  131. ///</summary>
  132. publicintfileWidth
  133. {
  134. get
  135. {
  136. return_fileWidth;
  137. }
  138. }
  139. #endregion
  140. #region属性--图片原始的高度
  141. ///&ltsummary>
  142. ///图片原始的高度
  143. ///</summary>
  144. publicintfileHeight
  145. {
  146. get{return_fileHeight;}
  147. }
  148. #endregion
  149. #region属性--文件的类型
  150. ///&ltsummary>
  151. ///文件的类型
  152. ///</summary>
  153. publicstringfileType
  154. {
  155. get{return_fileType;}
  156. }
  157. #endregion
  158. #region属性--设置水印文字
  159. ///&ltsummary>
  160. ///设置水印文字
  161. ///</summary>
  162. publicstringaddText
  163. {
  164. set{_addText=value;}
  165. }
  166. #endregion
  167. #region属性--设置水印图片
  168. ///&ltsummary>
  169. ///设置水印图片
  170. ///</summary>
  171. publicstringaddPicture
  172. {
  173. set{_addPicture=value;}
  174. }
  175. #endregion
  176. #region构造函数
  177. ///&ltsummary>
  178. ///构造函数
  179. ///</summary>
  180. publicFileUpLoadCommon()
  181. :this("/public/",true)
  182. {
  183. }
  184. ///&ltsummary>
  185. ///构造函数
  186. ///</summary>
  187. ///&ltparamname="filePath">文件路径</param>
  188. ///&ltparamname="isDate">是否按日期创建目录</param>
  189. publicFileUpLoadCommon(stringfilePath,boolisDate)
  190. {
  191. _path=filePath;
  192. _isDate=isDate;
  193. if(_isDate)
  194. _path+=DateTime.Now.ToString("yyyyMMdd")+"/";
  195. stringp=HttpContext.Current.Server.MapPath(_path);
  196. //如果目录不存在,将创建目录
  197. if(!Directory.Exists(p))
  198. Directory.CreateDirectory(p);
  199. }
  200. #endregion
  201. #region方法--保存文件
  202. ///&ltsummary>
  203. ///指定缩图的宽高
  204. ///</summary>
  205. ///&ltparamname="fu">文件类型</param>
  206. ///&ltparamname="Width">宽</param>
  207. ///&ltparamname="Height">高</param>
  208. ///&ltreturns></returns>
  209. publicboolSaveImage(FileUploadfu,intWidth,intHeight)
  210. {
  211. _width=Width;
  212. _height=Height;
  213. returnSaveFile(fu,true);
  214. }
  215. ///&ltsummary>
  216. ///指定缩图的宽高
  217. ///</summary>
  218. ///&ltparamname="fu">文件类型</param>
  219. ///&ltparamname="Width">宽</param>
  220. ///&ltparamname="Height">高</param>
  221. ///&ltparamname="Mode">缩图模式"HW"://指定高宽缩放(可能变形)"W"//指定宽,高按比例"H"//指定高,宽按比例"Cut"://指定高宽裁减(不变形)</param>
  222. ///&ltreturns></returns>
  223. publicboolSaveImage(FileUploadfu,intWidth,intHeight,stringMode)
  224. {
  225. _width=Width;
  226. _height=Height;
  227. _mode=Mode;
  228. returnSaveFile(fu,true);
  229. }
  230. #endregion
  231. #region方法--保存文件
  232. ///&ltsummary>
  233. ///保存文件
  234. ///</summary>
  235. ///&ltparamname="fu">上传文件对象</param>
  236. ///&ltparamname="IsImage">是否邮件</param>
  237. publicboolSaveFile(FileUploadfu,boolIsImage)
  238. {
  239. if(fu.HasFile)
  240. {
  241. stringfileContentType=fu.PostedFile.ContentType;
  242. stringname=fu.PostedFile.FileName;//客户端文件路径
  243. FileInfofile=newFileInfo(name);
  244. _fileType=fu.PostedFile.ContentType;
  245. _fileSize=fu.PostedFile.ContentLength;
  246. boolisfileTypeImages=false;
  247. if(fileContentType=="image/x-png"||fileContentType=="image/bmp"||fileContentType=="image/gif"||fileContentType=="image/pjpeg")
  248. {
  249. isfileTypeImages=true;
  250. }
  251. if(IsImage==true&&isfileTypeImages==false)
  252. {
  253. _errorMsg="文件类型不是图片!";
  254. fu.Dispose();
  255. returnfalse;
  256. }
  257. //检测文件扩展名是否正确
  258. if(!Common.Check_Char_Is(file.Extension.Substring(1).ToLower(),FrameSystemInfo.GetSystemInfoTable.S_SystemConfigData.C_UploadFileExt.ToLower()))
  259. {
  260. _errorMsg=string.Format("文件扩展名不符合系统需求:{0}",FrameSystemInfo.GetSystemInfoTable.S_SystemConfigData.C_UploadFileExt);
  261. fu.Dispose();
  262. returnfalse;
  263. }
  264. if(_fileSize/1024>FrameSystemInfo.GetSystemInfoTable.S_SystemConfigData.C_UploadSizeKb)
  265. {
  266. _errorMsg=string.Format("上传文件超过系统允许大小:{0}K",FrameSystemInfo.GetSystemInfoTable.S_SystemConfigData.C_UploadSizeKb);
  267. fu.Dispose();
  268. returnfalse;
  269. }
  270. _fileName=file.Name;//文件名称
  271. _newFileName=CreateFileName()+file.Extension;
  272. _webFilePath=HttpContext.Current.Server.MapPath(_path+_newFileName);//服务器端文件路径
  273. if(isfileTypeImages)
  274. {
  275. _fileName_s="s_"+_newFileName;//缩略图文件名称
  276. if(_isOnly)
  277. {
  278. _fileName_sy=_newFileName;//水印图文件名称(文字)
  279. _fileName_syp=_newFileName;//水印图文件名称(图片)
  280. }
  281. else
  282. {
  283. _fileName_sy="sy_"+_newFileName;//水印图文件名称(文字)
  284. _fileName_syp="syp_"+_newFileName;//水印图文件名称(图片)
  285. }
  286. _webFilePath_s=HttpContext.Current.Server.MapPath(_path+_fileName_s);  //服务器端缩略图路径
  287. _webFilePath_sy=HttpContext.Current.Server.MapPath(_path+_fileName_sy); //服务器端带水印图路径(文字)
  288. _webFilePath_syp=HttpContext.Current.Server.MapPath(_path+_fileName_syp); //服务器端带水印图路径(图片)
  289. _webFilePath_sypf=HttpContext.Current.Server.MapPath(_addPicture); //服务器端水印图路径(图片)
  290. //检查文件是否存在
  291. if(!File.Exists(_webFilePath))
  292. {
  293. try
  294. {
  295. fu.SaveAs(_webFilePath);//使用SaveAs方法保存文件
  296. if(_isWatermarkT)
  297. AddShuiYinWord(_webFilePath,_webFilePath_sy);
  298. if(_isWatermarkP)
  299. AddShuiYinPic(_webFilePath,_webFilePath_syp,_webFilePath_sypf);
  300. if(_isThumbnail)
  301. MakeThumbnail(_webFilePath,_webFilePath_s,_width,_height,_mode);//生成缩略图方法
  302. //只有上传完了,才能获取图片大小
  303. if(File.Exists(_webFilePath))
  304. {
  305. System.Drawing.ImageoriginalImage=System.Drawing.Image.FromFile(_webFilePath);
  306. try
  307. {
  308. _fileHeight=originalImage.Height;
  309. _fileWidth=originalImage.Width;
  310. }
  311. finally
  312. {
  313. originalImage.Dispose();
  314. }
  315. }
  316. _errorMsg=string.Format("提示:文件“{0}”成功上传,并生成“{1}”缩略图,文件类型为:{2},文件大小为:{3}B",_newFileName,_fileName_s,fu.PostedFile.ContentType,fu.PostedFile.ContentLength);
  317. fu.Dispose();
  318. returntrue;
  319. }
  320. catch(Exceptionex)
  321. {
  322. _errorMsg="提示:文件上传失败,失败原因:"+ex.Message;
  323. }
  324. }
  325. else
  326. {
  327. _errorMsg="提示:文件已经存在,请重命名后上传";
  328. }
  329. }
  330. else
  331. {
  332. //上传文件
  333. //检查文件是否存在
  334. if(!File.Exists(_webFilePath))
  335. {
  336. try
  337. {
  338. fu.SaveAs(_webFilePath);//使用SaveAs方法保存文件
  339. _errorMsg=string.Format("提示:文件“{0}”成功上传,并生成“{1}”缩略图,文件类型为:{2},文件大小为:{3}B",_newFileName,_fileName_s,fu.PostedFile.ContentType,fu.PostedFile.ContentLength);
  340. fu.Dispose();
  341. returntrue;
  342. }
  343. catch(Exceptionex)
  344. {
  345. _errorMsg="提示:文件上传失败,失败原因:"+ex.Message;
  346. }
  347. }
  348. else
  349. _errorMsg="提示:文件已经存在,请重命名后上传";
  350. }
  351. }
  352. fu.Dispose();
  353. returnfalse;
  354. }
  355. #endregion
  356. #region方法--创建新的文件名
  357. ///&ltsummary>
  358. ///创建新的文件名
  359. ///</summary>
  360. ///&ltreturns></returns>
  361. publicstringCreateFileName()
  362. {
  363. stringguid=System.Guid.NewGuid().ToString().ToLower();
  364. guid=guid.Replace("-","");
  365. returnDateTime.Now.ToString("yyyyMMddhhmmss")+guid.Substring(0,4);
  366. }
  367. #endregion
  368. #region方法--删除文件
  369. ///&ltsummary>
  370. ///删除文件
  371. ///</summary>
  372. ///&ltparamname="filename"></param>
  373. publicstaticvoidDeleteFile(stringfilename)
  374. {
  375. strings=HttpContext.Current.Server.MapPath(filename);
  376. if(File.Exists(s))
  377. {
  378. try
  379. {
  380. File.Delete(s);
  381. }
  382. catch
  383. {}
  384. }
  385. }
  386. #endregion
  387. #region方法--生成缩略图
  388. /**/
  389. ///&ltsummary>
  390. ///生成缩略图
  391. ///</summary>
  392. ///&ltparamname="originalImagePath">源图路径(物理路径)</param>
  393. ///&ltparamname="thumbnailPath">缩略图路径(物理路径)</param>
  394. ///&ltparamname="width">缩略图宽度</param>
  395. ///&ltparamname="height">缩略图高度</param>
  396. ///&ltparamname="mode">生成缩略图的方式</param>
  397. publicstaticvoidMakeThumbnail(stringoriginalImagePath,stringthumbnailPath,intwidth,intheight,stringmode)
  398. {
  399. System.Drawing.ImageoriginalImage=System.Drawing.Image.FromFile(originalImagePath);
  400. inttowidth=width;
  401. inttoheight=height;
  402. intx=0;
  403. inty=0;
  404. intow=originalImage.Width;
  405. intoh=originalImage.Height;
  406. if(ow<towidth&&oh<toheight)
  407. {
  408. originalImage.Save(thumbnailPath);
  409. }
  410. else
  411. {
  412. switch(mode.ToUpper())
  413. {
  414. case"HW"://指定高宽缩放(可能变形)
  415. break;
  416. case"W"://指定宽,高按比例
  417. toheight=originalImage.Height*width/originalImage.Width;
  418. break;
  419. case"H"://指定高,宽按比例
  420. towidth=originalImage.Width*height/originalImage.Height;
  421. break;
  422. case"CUT"://指定高宽裁减(不变形)
  423. if((double)originalImage.Width/(double)originalImage.Height>(double)towidth/(double)toheight)
  424. {
  425. oh=originalImage.Height;
  426. ow=originalImage.Height*towidth/toheight;
  427. y=0;
  428. x=(originalImage.Width-ow)/2;
  429. }
  430. else
  431. {
  432. ow=originalImage.Width;
  433. oh=originalImage.Width*height/towidth;
  434. x=0;
  435. y=(originalImage.Height-oh)/2;
  436. }
  437. break;
  438. case"AUTO"://自动适应高度
  439. if(ow>oh)
  440. {
  441. //newwidth=200;
  442. toheight=(int)((double)oh/(double)ow*(double)towidth);
  443. }
  444. else
  445. {
  446. //newheight=200;
  447. towidth=(int)((double)ow/(double)oh*(double)toheight);
  448. }
  449. break;
  450. default:
  451. break;
  452. }
  453. //进行缩图
  454. Bitmapimg=newBitmap(towidth,toheight);
  455. img.SetResolution(72f,72f);
  456. Graphicsgdiobj=Graphics.FromImage(img);
  457. gdiobj.CompositingQuality=System.Drawing.Drawing2D.CompositingQuality.HighQuality;
  458. gdiobj.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  459. gdiobj.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
  460. gdiobj.PixelOffsetMode=System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
  461. gdiobj.FillRectangle(newSolidBrush(Color.White),0,0,
  462. towidth,toheight);
  463. Rectangledestrect=newRectangle(0,0,
  464. towidth,toheight);
  465. gdiobj.DrawImage(originalImage,destrect,0,0,ow,
  466. oh,GraphicsUnit.Pixel);
  467. System.Drawing.Imaging.EncoderParametersep=newSystem.Drawing.Imaging.EncoderParameters(1);
  468. ep.Param[0]=newSystem.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality,(long)100);
  469. System.Drawing.Imaging.ImageCodecInfoici=GetEncoderInfo("image/jpeg");
  470. try
  471. {
  472. if(ici!=null)
  473. {
  474. img.Save(thumbnailPath,ici,ep);
  475. }
  476. else
  477. {
  478. img.Save(thumbnailPath,System.Drawing.Imaging.ImageFormat.Jpeg);
  479. }
  480. }
  481. catch(System.Exceptione)
  482. {
  483. throwe;
  484. }
  485. finally
  486. {
  487. gdiobj.Dispose();
  488. img.Dispose();
  489. }
  490. }
  491. originalImage.Dispose();
  492. }
  493. privatestaticSystem.Drawing.Imaging.ImageCodecInfoGetEncoderInfo(StringmimeType)
  494. {
  495. intj;
  496. System.Drawing.Imaging.ImageCodecInfo[]encoders;
  497. encoders=System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders();
  498. for(j=0;j<encoders.Length;++j)
  499. {
  500. if(encoders[j].MimeType==mimeType)
  501. returnencoders[j];
  502. }
  503. returnnull;
  504. }
  505. #endregion
  506. #region方法--在图片上增加文字水印
  507. /**/
  508. ///&ltsummary>
  509. ///在图片上增加文字水印
  510. ///</summary>
  511. ///&ltparamname="Path">原服务器图片路径</param>
  512. ///&ltparamname="Path_sy">生成的带文字水印的图片路径</param>
  513. protectedvoidAddShuiYinWord(stringPath,stringPath_sy)
  514. {
  515. System.Drawing.Imageimage=System.Drawing.Image.FromFile(Path);
  516. System.Drawing.Graphicsg=System.Drawing.Graphics.FromImage(image);
  517. g.DrawImage(image,0,0,image.Width,image.Height);
  518. System.Drawing.Fontf=newSystem.Drawing.Font("Verdana",16);
  519. System.Drawing.Brushb=newSystem.Drawing.SolidBrush(System.Drawing.Color.Blue);
  520. g.DrawString(_addText,f,b,15,15);
  521. g.Dispose();
  522. image.Save(Path_sy);
  523. image.Dispose();
  524. }
  525. #endregion
  526. #region方法--在图片上生成图片水印
  527. /**/
  528. ///&ltsummary>
  529. ///在图片上生成图片水印
  530. ///</summary>
  531. ///&ltparamname="Path">原服务器图片路径</param>
  532. ///&ltparamname="Path_syp">生成的带图片水印的图片路径</param>
  533. ///&ltparamname="Path_sypf">水印图片路径</param>
  534. protectedvoidAddShuiYinPic(stringPath,stringPath_syp,stringPath_sypf)
  535. {
  536. System.Drawing.Imageimage=System.Drawing.Image.FromFile(Path);
  537. System.Drawing.ImagecopyImage=System.Drawing.Image.FromFile(Path_sypf);
  538. System.Drawing.Graphicsg=System.Drawing.Graphics.FromImage(image);
  539. g.DrawImage(copyImage,newSystem.Drawing.Rectangle(image.Width-copyImage.Width,image.Height-copyImage.Height,copyImage.Width,copyImage.Height),0,0,copyImage.Width,copyImage.Height,System.Drawing.GraphicsUnit.Pixel);
  540. g.Dispose();
  541. image.Save(Path_syp);
  542. image.Dispose();
  543. }
  544. #endregion
  545. }
  546. }
分享到:
评论

相关推荐

    C#公共类通用类非常齐全

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中使用...

    C#公共通用类

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中使用...

    aspnet公共类cs文件.rar

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中使用...

    DotNet通用类库大全

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中...

    C#基类库(苏飞版)

    ImageUpload 图片上传并进行缩略图处理 24.网络 NetHelper 25.文件操作类 DirFileHelper FileOperateHelper INIFile 26.序列化 Serialize 序列化帮助类,还有例子 SerializeHelper 序列化帮助类,Xml序列化,...

    网趣网上购物系统时尚版V13.0

    可以选择设置图片水印或文字水印,并可设置水印嵌入图片的位置,设置水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印后,添加商品上传图片时,会自动在图片上嵌入水印...

    C#公共类源代码 带帮助文档

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中...

    网趣网上购物系统的部分特点与精华

    可以选择设置图片水印或文字水印,并可设置水印嵌入图片的位置,设置水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印后,添加商品上传图片时,会自动在图片上嵌入水印...

    网新中英文企业手机电脑一体化建站通用版 v4.9.rar

    5、产品上传图片自动生成缩略图,加快产品列表访问速度; 6、上传产品图片自动添加文字水印,加大盗图难度; 7、详细介绍可传附件,方便供客户下载PDF,Doc,Xls,RAR,ZIP等文件; 8、保存远程图片功能,当复制...

    c# 公用操作类库源码

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    书名:《PHP开发实战1200例(第I卷)》(清华大学出版社.潘凯华.刘中华) PDF格式扫描版,全书分为5篇15章,共899页。2011年1月出版。...实例278 缩略图艺术库 371 实例279 提取图像的EXIF信息 374 6.2 控制、显示...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    书名:《PHP开发实战1200例(第I卷)》(清华大学出版社.潘凯华.刘中华) PDF格式扫描版,全书分为5篇15章,共899页。2011年1月出版。...实例278 缩略图艺术库 371 实例279 提取图像的EXIF信息 374 6.2 控制、显示...

    网趣网上购物系统时尚版

    可以选择设置图片水印或文字水印,并可设置水印嵌入图片的位置,设置水印可以有效防止图片盗链,同时不易被修改和使用,更能表现出一个网站的特色风格,设置好水印后,添加商品上传图片时,会自动在图片上嵌入水印...

    WHC.OrderWater.Commons 伍华聪 公共类源码 类库 帮助文档

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中...

    桃源网络硬盘 5.8.zip

    6、图片缩略查看及编辑:支持当前目录中图片文件类windows缩略图查看,支持单击预览图片进行图片编辑,具体包括对图片的缩放、旋转、水印、裁剪等功能。 7、文件的密码上传:支持用户为某目录设置上传密码,访客可...

    WHC.OrderWater.Commons公共类源码_文档[最新整理]

    图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 输入法帮助,全角 转换为半角(ImeHelper.cs) Winform提示框 的摘要说明。(MessageUtil.cs) 包含互操作方法调用的应用程序中...

    DotNet公用类(超多附文档)

    10.图片对象比较、缩放、缩略图、水印、压缩、转换、编码等操作辅助类(ImageHelper.cs) 11.输入法帮助,全角 转换为半角(ImeHelper.cs) 12.Winform提示框 的摘要说明。(MessageUtil.cs) 13.包含互操作方法调用的...

    网上购物系统(.asp )

    加入订单缩略图显示 修复支付宝后期支付错误  网趣网上购物系统是一套简单易用、功能强大、用户使用最为广泛的网上购物开店平台,凭借多年的网上购物系统研发经验,软件功能日趋强大与完善、依托庞大的用户使用...

    DoubleY自动生成HTML全站静态程序 v3.0.rar

    若您的服务器支持jpeg组件,则全站均可使用缩略图和水印功能,提高网站访问速度;另外上传的图片支持“在线剪裁”,帮助您定制最合适的主题图片和个性图片。 5.可以控制网站通用的各板块的排序,显示与否,添加自己...

    网钛文章管理系统 V2.91最新版

    8、支持批量上传图片或文件,并可选择已上传的图片文件,避免重复上传; 9、支持附件上传 10、支持在文章内容的末尾自动添加上如转载声明之类的附加内容,增加外链; 11、设置关键字及链接,自动在文章内容中...

Global site tag (gtag.js) - Google Analytics