WEB ImgHelper 1.00发布 大家多提意见啊

蜗牛水里爬 2009-04-23 01:12:56
功能:实现图片上传缩略图等等
http://blog.csdn.net/gzy11/archive/2009/04/23/4103006.aspx
第一次写类库
见笑了
肯定有许多不足之处
希望大家能够指正
...全文
337 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
makun0624 2009-04-24
  • 打赏
  • 举报
回复
学习 支持 关注`
RHCL 2009-04-24
  • 打赏
  • 举报
回复
up 一个
蜗牛水里爬 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 wanghui0380 的回复:]
这个饺子包的有点散啊


1.你关注了太多原本不该关注的事情,像文件路径检测,提取后缀,生成文件名--------这些通用方法实际并不应该出现在这里,如果你要提供最好单独封到一个静态类,因为基本上这些方法的特性是与项目无关,与实例无关,可以随处调用,正好适合做成静态类
2.你第一步那个抽象 struct imgSize 很好,但是你没有继续下去

这样吧,我按照你这个抽象的思路,顺着写过去,写到那算哪,我就不做具体优化了…
[/Quote]
谢谢你的建议
我会努力改进的

关于大家说的其它功能会陆续加上的 水印功能 对非 微软控件的支持等
陌上花花 2009-04-24
  • 打赏
  • 举报
回复
支持楼主啦
major 2009-04-24
  • 打赏
  • 举报
回复
基本上功能是满足了,不过最好把什么文件操作的方法放在别的类里面。
冷月孤峰 2009-04-24
  • 打赏
  • 举报
回复
不错,来学习。
做好做个在线的DEMO,这样方便大家测试
LutzMark 2009-04-24
  • 打赏
  • 举报
回复
不错
25楼说得很好
zjybushiren88888 2009-04-24
  • 打赏
  • 举报
回复
关注 _
cntenger 2009-04-24
  • 打赏
  • 举报
回复
学习
wujinjian2008n 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 liujiayu10 的回复:]
应该先做个在线DEMO,这样大家方便试用
[/Quote]

up
wanghui0380 2009-04-24
  • 打赏
  • 举报
回复
这个饺子包的有点散啊


1.你关注了太多原本不该关注的事情,像文件路径检测,提取后缀,生成文件名--------这些通用方法实际并不应该出现在这里,如果你要提供最好单独封到一个静态类,因为基本上这些方法的特性是与项目无关,与实例无关,可以随处调用,正好适合做成静态类
2.你第一步那个抽象 struct imgSize 很好,但是你没有继续下去

这样吧,我按照你这个抽象的思路,顺着写过去,写到那算哪,我就不做具体优化了(一步考虑下来,多少是有bug滴)

public interface IThumbMode //计算缩略图接口
{
Image _originaImage { get; set; } //原始图片
int width { get; } //缩略图的高
int height { get; } //缩略图的宽
void makeWH(); //计算缩略图的宽高
}


public class imgTools
{

public static Image makeThumbImg(IThumbMode mode)//类似抽象工厂,按情况也可以考虑模板或策略模式
{
var oimg = mode._originaImage;
var res = oimg.GetThumbnailImage(mode.width, mode.height, null, new IntPtr());
return res;
}


}

public class ThumbBySize:IThumbMode //按文件size缩略
{
private long filesize;
public LockSize(string path,long filesize)
{
_originaImage = Image.FromFile(path);
this.filesize = filesize;
makeWH();
}

#region IThumbMode 成员

public Image _originaImage
{
get;
set;
}

private int m_width;
public int width
{
get { return m_width; }
}

private int m_height;
public int height
{
get { return m_height; }
}

public void makeWH()
{
System.IO.MemoryStream ms = new System.IO.MemoryStream();
_originaImage.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

var osize = ms.Length;
if (osize <= filesize)
return;
else
{
m_width = Convert.ToInt32(_originaImage.Width * filesize / osize);
m_height = Convert.ToInt32(_originaImage.Height * filesize / osize);
}
}

#endregion
sxmonsy 2009-04-24
  • 打赏
  • 举报
回复
友情UP
liujiayu10 2009-04-24
  • 打赏
  • 举报
回复
应该先做个在线DEMO,这样大家方便试用
jdxx 2009-04-24
  • 打赏
  • 举报
回复
是否把文件上传的部分做成抽象的或者是虚拟的,因为使用者不一定使用内置的上传控件,毕竟.net的上传空间局限性太大。

或者分成2个控件,上传(包含检测和验证,只需返回 FileInfo 就可以了)和图片处理部分。

如果有一个类似这样的方法ProcessImage(processtype,processvalue,precision),其中,processtype 可以是按比例或者是固定宽度或者固定高度,processvalue是processtype 的值,precision是图像的质量,可以类似jpg的从1~100.
这样使用起来就会方便很多。

呵呵~,只是随便说说,LZ做的很不错了,继续加油喔~
whitebo 2009-04-24
  • 打赏
  • 举报
回复
支持下
zftow110 2009-04-24
  • 打赏
  • 举报
回复
有GIF打标吗?
LGP88864237 2009-04-23
  • 打赏
  • 举报
回复
收藏了,呵呵
蓝海D鱼 2009-04-23
  • 打赏
  • 举报
回复
up
蜗牛水里爬 2009-04-23
  • 打赏
  • 举报
回复
Authentication 这个方法 老是觉得 out 泛型 和返回 BOOL型的用起来不是很顺手
但目前没想到更好的方式来 写这个东西
fhqnui2004 2009-04-23
  • 打赏
  • 举报
回复
先顶,后学习
加载更多回复(15)
源码链接: https://pan.quark.cn/s/1889b1ebf6bc ### Linux环境下Vivado借助VCS进行仿真的操作指南 #### 一、前言 在数字电路系统设计领域中,FPGA(Field Programmable Gate Array,即现场可编程门阵列)的设计与验证占据着核心地位。伴随着设计复杂程度的增加,高效的仿真验证成为了保障设计正确性的关键环节之一。在Linux操作系统环境中运用Vivado来调用VCS执行仿真操作,不仅能够提升仿真的执行速度,同时也便于进行波形监测,从而大幅度增强设计验证的整体效率。本指南将详尽阐述如何在Linux系统平台上完成这一流程的操作。 #### 二、准备工作阶段 1. **软件部署**: - 验证Vivado软件是否已经正确安装。Vivado是由Xilinx公司开发的一款集成开发环境,专门用于FPGA的设计工作。 - 进行VCS软件的安装。VCS是一款性能卓越的仿真工具,广泛应用于Verilog和SystemVerilog语言代码的仿真测试。为了更好地支持混合语言环境下的仿真,建议采用VCS-MX版本。 2. **权限配置**: - Linux系统的权限管理机制较为严格,尤其是针对普通用户的权限限制较为严格。因此,在启动Vivado调用VCS仿真之前,必须确保所有必要的权限都已经正确配置。 3. **环境变量设定**: - 配置个人用户目录下的`.bashrc`文件,以便在终端操作时能够顺利加载所需的环境变量。 #### 三、调整个人用户下的.bashrc文件 1. **编辑.bashrc文件**: - 使用`cd`指令进入到个人用户的主目录,通过`ll -la`指令查看当前目录中的所有文件,...

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧