用于创建有趣且完全可定制的 Web 照片库的应用程序






4.47/5 (16投票s)
一个使用插件生成页面的应用程序,用于创建有趣且完全可定制的 Web 照片库。

引言
此应用程序可用于在几分钟内从多个源图像生成HTML照片库。
您还可以半透明地在放大的图像上插入文本,定义其位置、大小、阴影,并可选择使用背景形状,如矩形或椭圆形,以及3D效果。
此外,您可以在目标放大图像上印上水印图像,定义透明度键、目标图像的百分比大小、透明度级别和位置。
您可以使用蒙版为图像(缩略图和/或放大图)添加角和形状。
您可以在格式之间转换图像。
最后,您可以创建一个有趣的阴影效果,比如在彩色或空白纸上放一张图片,从页面模板或其他来源选取颜色。
页面是使用用户可自定义的HTML模板生成的。
支持多种格式:JPG(具有可自定义的压缩级别)、GIF、PNG、WMF、TIFF、EXIT和ICO。
该工具外观美观,界面友好。
该应用程序通过使用DLL插件完全可扩展,以获得不同的HTML样式。
背景
此应用程序扩展了在我的上一篇文章中介绍的“批量图像”项目。
“扩展Web库”的目标用途与“批量图像”不同:虽然“批量图像”对于批量创建图像很有用,但使用“扩展Web库”您可以创建具有各种样式的HTML照片库。
使用插件的HTML样式
HTML生成是基于插件的。 任何人都可编写自己的插件以获得完全自定义的照片库样式。
实际上,我已经实现了三个基本插件,它们具有以下布局:标准表格、水平自动滚动框架和垂直自动滚动框架。
插件必须实现以下接口(`IPlugins`)
public interface IPlugin
{
event EventHandler FinishWork;
System.Windows.Forms.UserControl GetPluginInterface();
string Name { get; }
string Description { get; }
Bitmap sample { get;}
object Action(object data);
void ThreadOperate(CParams.ThreadOperation operation);
void SetParameters(List<CPARAMS> paramlist);
void SetMainTemplate(List<STRING> before, List<STRING> after);
void SetPagesTemplate(List<STRING>before, List<STRING> after);
void SetDirs(string outputpath, string imagepath,
string thumbnailspath, string pagespath, string pagesextension);
void Serialize(Stream myStream, ref IFormatter formatter);
void DeSerialize(Stream myStream, ref IFormatter formatter);
}
当应用程序启动时,插件管理器(`Plugger`)检查“*Plugins*”目录中插件的存在
private void LoadPluginsFromAssemly(System.Reflection.Assembly assembly)
{
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{
if (type.IsPublic && !type.IsAbstract)
{
Type typeInterface = type.GetInterface("IPlugin", true);
if (typeInterface != null)
{
ListItem listitem = new ListItem();
listitem.plugin = Activator.CreateInstance(type) as IPlugin;
listitem.filename = type.Module.ToString();
if (listitem.plugin == null)
continue;
listitem.plugin.FinishWork += new EventHandler(plugin_Evento);
PluginList.Add(listitem);
}
}
}
}
感谢jonnynolimits对插件阅读的宝贵支持。
使用蒙版
您可以使用蒙版来获得很酷的图像效果。 蒙版是放在原始图像上的通用图像。 显然,您可以定义透明度键。

因此,这就是结果(使用水平框架插件),它就像一部电影。

您可以使用多种形状或来源快速创建新的蒙版图像。
演示库
外部链接
我将要编写一些用户文档。 关注此链接(实际上我正在编写用户指南)。
注释
请报告错误!