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

蜗牛水里爬 2009-04-23 01:12:56
功能:实现图片上传缩略图等等
http://blog.csdn.net/gzy11/archive/2009/04/23/4103006.aspx
第一次写类库
见笑了
肯定有许多不足之处
希望大家能够指正
...全文
297 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)

62,046

社区成员

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

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

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

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