使用Visual Studio 2010写Data Url生成工具C#版本

使用Visual Studio 2010写Data Url生成工具C#版本

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

声明:本文系本人按照真实经历原创。未经许可,谢绝转载。

此文百度经验版本号:怎样用Visual Studio 2010打造Data Url生成工具

源代码下载:用Visual Studio 2010编写Data Url生成工具C#源代码

相关文章:Data Url生成工具之HTML5 FileReader实现

什么是Data Url呢?Data URI scheme是在RFC2397中定义的,目的是将一些小的数据。直接嵌入到网页中,从而不用再从外部文件加载。

比如:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJqSURBVDhPdZJdSJNhFMfPCKKPuzUyxK4KKZgWCoFlEEtL6SKQkiDoY3d506IbL0ytFiKDKJzvnq1Il7oNvFGsrCAom60yN/flB9aFBMNZECRTsIt/5+x9aaR14MfOnuf/O8/zsNH6sjmp+rJvV0/70KHlm8OVaB7ci6bH5uWz9zf11HVQtRH7d51z7/A/n7mOLyu38fprPZ7NH8GTuSqMzB5GMFYFR3A7Tt8lvxH/u+y+3SMzP1x4tWCDJ0x51HgB77gJoVgZOkaL0XCPRgxNrxNOcrycv4KnnyuhSTiyESW8IwRipWgdtqDuDjnycvFB2tI8uC8XzjRA44D3/UY8THDKir7oHqOvwEUf5cQl2w1qfBQ5hkCiBOojC+vwfCD0x/ZjZS2LzM8xaDygN1qEtuEi1LRRIx1vp86hdD3UhAneCRZEYpT0TH9cl6USi93QZDBntTEram9RJ9nayDUwWQXPJxaYNwtNSGY1dHGwL1GQ44tdcMvgSYNwudzARTXt5PKFD0BFTejmjdxaJi/Mfg+xvJjv41mWebiK8ulCTL+BuFR9lezyHn+yCCrGV07xqb/0U6XiSyyzpKZYNOjlrDji0lYz7bygaDWYqICK8zOY/mkZsoTENzfcPFTWvQbSBzgrjrjyS24+eo06WocsCKRLoZIcShC6Oajxp3z3Gkg/wBnJiiOuDJCynHLSW/mXBaet8KZNUCmWDPI9r8meZCQrjq4WqqS2hUYdgW14GClDIFWO0JyO9LIme5KRrK5sLEvZGbKfbKEX5z20eukBQZBe1mRPMnr0/yXvMjOljNVAeln782a9iH4Dmo3bByBiDoMAAAAASUVORK5CYII=" width="16" height="16" />

img标签的src属性值就是Data Url。

在上面的Data URI中。data表示取得数据的协定名称,image/png 是数据类型名称,base64 是数据的编码方法,逗号后面就是这个image/png文件base64编码后的数据。


眼下,Data URI scheme支持的类型有:
data:,文本数据
data:text/plain,文本数据
data:text/html,HTML代码
data:text/html;base64,base64编码的HTML代码
data:text/css,CSS代码
data:text/css;base64,base64编码的CSS代码
data:text/javascript,Javascript代码
data:text/javascript;base64,base64编码的Javascript代码
data:image/gif;base64,base64编码的gif图片数据
data:image/png;base64,base64编码的png图片数据
data:image/jpeg;base64,base64编码的jpeg图片数据
data:image/x-icon;base64,base64编码的icon图片数据

那么怎样才干生成Data Url呢?今天我就教大家自己用Visual Studio 2010打造一款Data Url生成工具的方法。

打开Visual Studio 2010

使用Visual Studio 2010写Data Url生成工具C#版本

新建项目:文件》新建》项目

使用Visual Studio 2010写Data Url生成工具C#版本

选择c#》Windows窗口应用程序》输入项目名称

使用Visual Studio 2010写Data Url生成工具C#版本

拖动窗口到合适的大小

使用Visual Studio 2010写Data Url生成工具C#版本

改动窗口的标题为:Data Url 生成工具

使用Visual Studio 2010写Data Url生成工具C#版本

分别加入一个Label。两个TextBox,一个Button组件

使用Visual Studio 2010写Data Url生成工具C#版本

改动组件的“Name”属性,以及Text属性

使用Visual Studio 2010写Data Url生成工具C#版本使用Visual Studio 2010写Data Url生成工具C#版本

双击浏览按钮加入关键代码

        private void button_browse_Click(object sender, EventArgs e)
        {
            OpenFileDialog fbd = new OpenFileDialog();
            fbd.Title = "请选择一张图片:";
            fbd.CheckFileExists = true;
            fbd.FileName = Environment.GetFolderPath(Environment.SpecialFolder.MyComputer);
            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                textBox_saveDir.Text = fbd.FileName;
                try
                {
                    Image img = Image.FromFile(textBox_saveDir.Text, true);
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    System.Drawing.Imaging.ImageFormat fmt = System.Drawing.Imaging.ImageFormat.Png;
                    string ext = Path.GetExtension(textBox_saveDir.Text);
                    switch (ext)
                    {
                        case "gif":
                            fmt = System.Drawing.Imaging.ImageFormat.Gif;
                            break;
                        default:
                            ext = "png";
                            break;
                    }
                    img.Save(ms, fmt);
                    textBox1.Text = "<img src=\"data:image/" + ext + ";base64," + Convert.ToBase64String(ms.GetBuffer())
                        + "\" width=\"" + img.Width +"\" height=\"" + img.Height +"\" />";
                }
                catch (Exception ex)
                {
                    textBox1.Text = "错误:" + ex.Message + "\r\n堆栈:" + ex.StackTrace;
                }
            }
        }

生成解决方式。启动调试

使用Visual Studio 2010写Data Url生成工具C#版本

选择一张图片

使用Visual Studio 2010写Data Url生成工具C#版本

点击打开后,就会马上生成Data Url了,这里直接把Data Url放到img标签里了,方便測试

使用Visual Studio 2010写Data Url生成工具C#版本

怎么測试呢?

新建一个文本文档,把整个img标签的内容复制粘贴到文档中,保存;

然后将文件的扩展名改为“.html”;

然后在文件上单击鼠标右键》打开方式》选择一个浏览器,就能够看到效果了。

使用Visual Studio 2010写Data Url生成工具C#版本

使用Visual Studio 2010写Data Url生成工具C#版本

你学会了吗?


补充 2015.04.25

不知道有没有同学下载使用或调试,在尝试将尺寸比較大的图上生成DataURL时。
抛出了下面异常:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/117160.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • BInder机制总结

    BInder机制总结BInder机制Linux内核的基础知识+进程隔离/虚拟地址空间操作系统当中为了保证进程间互不干扰,设计了进程隔离的技术,避免了一个进程去操作另一个进程的数据。进程隔离用到了虚拟地址空间,不

  • 如何查看vue版本号

    如何查看vue版本号在cmd控制台内,输入npm-v可查看到npm的版本号;vue-V可看到vue的版本号。

  • 如何制作微信小程序_制作微信GIF表情

    如何制作微信小程序_制作微信GIF表情作为一个小程序从业人员,我经常在公众号推荐各种好玩的软件和小程序。题特意整理了一下,从工具类、娱乐类、游戏类分享一些值得推荐的小程序,希望有所帮助。整理内容花了大半天,觉得有用的话求个赞。娱乐类1.头像小助手这是一款微信头像制作工具,方便一键定制各种个性头像,功能包含给微信头像加V、加字、加1、粉丝头像等功能,轻松制作个性微信头像。2.昵称工具一款昵称制作工具,可以一键生成各种花式昵称,包括空白…

  • 云端呼叫中心坐席并发测试结果[通俗易懂]

    云端呼叫中心坐席并发测试结果[通俗易懂]很久没有写关于asterisk压力测试的相关文章了。今晚终于可以抽一点时间来写点东西,跟大家来分享一下。以下是本人最近开发的一套云端虚拟坐席租用系统,历经半年时间的实现和优化。          在近段时间,云端服务器是一个比较很热门话题,并且很大程度上综合硬件的资源的,节约成本的同时,还有的好处就是简化服务器部署的难度和时间。其他关于云端服务的其他好处,在此不必多说了,大家可以参考一

  • 单调栈用法_栈函数

    单调栈用法_栈函数单调栈,是指栈内元素从栈底到栈顶单调递增或单调递减的栈。简单来讲,单调栈=单调+栈,它同时满足两个特性:单调性、栈。以单调递增栈来讲解单调栈原理。假设当前元素为x,(1)若x<栈顶元素,那就不满足单调递增性,这时将栈中元素y弹出,若此时条件仍然不满足,则继续弹出栈顶元素,直到满足条件,再将x入栈;(2)若x>=栈顶元素,满足单调递增性,将x入栈;如此不断重复以上步骤,直到所有满足条件的元素都入栈。以一个具体例子[3,5,2,6,8]为例:(1)首先将3入栈,此时栈中元素为[3];(2

  • 大数据学习内容有哪些?大数据学习路线图

    大数据学习内容有哪些?大数据学习路线图很多人想学习大数据,但是都不清楚大数据学习应该怎么下手。大数据开发工程师简单整理了一下大数据学习路线图,希望对于学习大数据的朋友,有一定的帮助。 总的来说,如果是从零基础开始学习,总共分为八个阶段  第一阶段:HTML+css第二阶段:JAVASE学习第三阶段:javaweb第四阶段:企业级开发框架(JAVAEE)学完了java部门,就要开始大数据的技术学习…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号