一个很炫的图片/相册浏览控件(Flex实现)
有段时间为了做个事情,需求大概这样:有几组照片集(或者叫相册)需要在软件中就行快速浏览,效果类似于Windows操作系统中的照片查看器,既可以缩略图看,也可以逐个放大看,也可以幻灯片形式放映。要求WinForm程序中实现并集成。
初看逐个问题很简单嘛,找个现成图片浏览控件,或者干脆自己写一个也行。没想到一圈照下来,还真就没找到一个合适的WinForm的.NET控件能实现如此需求。
最后无意中发现这个网站,http://www.cooliris.com/,眼睛顿时放光,如果能把网站上的flash文件下载下来为我所用不就可以解决这个问题了嘛。子系统一看,还真是这个网站本省就提供二次开发集成功能,不过是针对在线站点做嵌入集成来解决图片浏览问题,移植到WinForm桌面程序中可否?还真未可知。
一番折腾之后最后终于搞定。记得中间遇到了一些问题,但因为当时没有在博客上记录,现在细节已经记不清楚了,就写个最后结果记录一下。
四个必备文件如下:
cooliris.swf:就是控件本身,即用来做图片浏览的Flex程序。
crossdomain.xml:跨域文件,这个就不解释了,做Flex,SL开发的都遇到过。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy><allow-access-from domain="*" secure="false" />
</cross-domain-policy>
photos.rss:相册文件的Rss源,或者叫目录也行。其中包含了图片文件的缩略图路径和源文件路径,被cooliris.swf程序读取。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss">
<channel><generator>piclens publisher win 1.0.12</generator>
<title></title>
<link></link>
<description></description><item><title>IMG_0007</title><link>pl_images/IMG_0007.jpg</link><guid>1a9d1e63-407a-4c3b-8fae-3fa8ac51749b</guid><media:thumbnail url="pl_thumbs/IMG_0007_thumb.jpg" /><media:content url="pl_images/IMG_0007.jpg" type="" /></item><item><title>IMG_0008</title><link>pl_images/IMG_0008.jpg</link><guid>21243987-da59-4de1-93e2-2ef23150b09a</guid><media:thumbnail url="pl_thumbs/IMG_0008_thumb.jpg" /><media:content url="pl_images/IMG_0008.jpg" type="" /></item><item><title>IMG_0009</title><link>pl_images/IMG_0009.jpg</link><guid>8f29e5b7-85e9-4886-a2cc-76f7f10b201d</guid><media:thumbnail url="pl_thumbs/IMG_0009_thumb.jpg" /><media:content url="pl_images/IMG_0009.jpg" type="" /></item></channel>
</rss>
index.html:即承载flex控件cooliris.swf的网页文件,如果你是站点放在aspx等文件中也行。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
</head>
<body><div style="width: 100%; height: 100%; overflow: hidden; position: relative; text-align: center;"><object id="o" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="cooliris.swf" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="feed=photos.rss" /><param name="wmode" value="opaque" /></object></div>
</body>
</html>
除此之外还需要两个目录:(当然名称随意了,只要你photo.rss文件中的路径指向对了就OK)
pl_images:原始文件文件夹
pl_thumbs:缩略图文件文件夹
如此所需文件就齐全了,在WinForm程序中调用,其实很简单。就放一个WebBrowser控件,一句话即可:
//调用相册
webBrowser1.Navigate(AppPath + @"\photo\index.html");
值得注意的是,这里是将图片和缩略图提前做好的,对此http://www.cooliris.com/提供了一个工具PicLensPublisher_1012.msi可以预先对静态图片生成rss文件和缩略图。
如果需要展示的相册是动态变化的,或者不断增加的,则可以自己动手写点代码实现自动生成或更新photo.rss文件,其格式如上所示很简单,每个图片占一个<item></item>即可,缩略图生成在.net中也很简单,调用GDI+中System.Drawing.Image.GetThumbnailImage()函数即可。
如此一个超炫的图片浏览控件就集成到了你的应用程序中了,有没有使您的程序增色呢。截两张图看看吧!
截图1:三维照片墙
截图2:幻灯浏览
示例数据及代码:thumb_demo.rar
一个很炫的图片/相册浏览控件(Flex实现)相关推荐
- 原创“.NET研究”企业级控件库之图片浏览控件
在上两篇:我介绍了原创企业级控件库之组合查询控件 和原创企业级控件库之大数据量分页控件,受到了很多朋友的支持,给了我很大的动力,在此我特表感谢.有的朋友要求把源码提供上来,我在第一篇就讲了,源码会在我 ...
- 纯CSS的实现仿图片相册浏览模式代码
演示下载 查看演示 立刻下载 本文标题: 纯CSS的实现仿图片相册浏览模式代码 固定链接: http://www.tcode.me/article/1215.html 来自淘代码转载请注明
- 用HTML语言编写一个个人主页,Html+CSS +Javascript实现的一个很炫个人主页网页
[实例简介] Html+CSS +Javascript实现的人主页网页,纯属个人原创.支持Firefox.IE等各种浏览器.值得作业提交,其他的也可作为参考! [实例截图] [核心代码] HtmlCS ...
- android 图片轮播组件,Android客户端实现图片轮播控件
本文和大家一起写一个Android图片轮播控件,供大家参考,具体内容如下 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用来显示 ...
- C#发现之旅 --- WinForm.NET中开发具有固定背景图片的可滚动控件
摘要 在本文章中笔者使用WinForm.NET2.0开发出一个具有固定背景图片的带滚动条的容器控件.点击下载本文章配套的演示程序 /Files/xdesigner/FixedBackground.zi ...
- [UWP]实现一个轻量级的应用内消息通知控件
[UWP]实现一个轻量级的应用内消息通知控件 原文:[UWP]实现一个轻量级的应用内消息通知控件 在UWP应用开发中,我们常常有向用户发送一些提示性消息的需求.这种时候我们一般会选择MessageDi ...
- 能够附加图片的标签控件iOS项目源码
这个源码案例是能够附加图片的标签控件,源码JTImageLabel,JTImageLabel能够附加图片的标签Label控件,图片可以随意更换.位置也能够很好的控制. 效果图: <ignore_ ...
- 一个Demo让你掌握Android所有控件
一个Demo让你掌握Android所有控件 原文:一个Demo让你掌握Android所有控件 本文是转载收藏,侵删,出处:"安卓巴士" 下面给出实现各个组件的源代码: 1 ...
- 9206晚自习点歌功能拆解 图片加载 控件显示与隐藏等等
使用panel面版布局 控制面版的Dock属性 项目资源存放位置 bin/debug下 布局图片 工具栏的设置 设置工具项为图文模式 图在上,文在下 给菜单项添加图片,并且设置图片不压缩,不缩小 左右 ...
最新文章
- 利用SqlHelper.cs实现Web程序对数据库的增、删、改等操作
- android r.java 原理,深入理解Android消息处理系统原理
- 反射的基本知识(详解)
- 统计学习方法笔记(李航)———第五章(决策树)
- canvas绘制圆和弧(三)
- 批量下载wsdl文件
- 上位机和下位机通信故障判断方法
- php左斜线和右斜线,左斜杠和右斜杠分别有什么意义?
- 手机通信专有名词中英文
- Spring MVC + Java 多文件上传及多文件中转上传
- TDA4开发板开发学习
- 设计模式之--中介者模式
- 大学物理质点动力学思维导图_《大学物理》(2019-2020-2)
- 钉钉与wcp知识库集成工具
- 机器人的自述作文_机器人的自述作文
- 比A100性能高4.5倍!英伟达H100横扫AI推理基准测试
- 福昕风腾pdf导出为html,福昕高级PDF编辑器,支持文档格式转化、OCR 文字识别的智能 PDF 编辑器...
- 网站信息无障碍辅助工具
- spellman高压电源维修X4629高压发生器维修
- 《跟小海龟学Python》图书介绍、代码下载、视频教程