图片处理渐变

摘要:
我在网上看到一篇关于图像处理的文章。它是用vb编写的,并翻译为学习。在使用ASP时,我们经常需要使用第三方控件来实现一些图像功能。现在,随着ASP。NET,我们不再需要使用第三方控件来实现它,因为ASP.NET已经具有强大的功能来实现一些图像处理。现在,让我们看看如何使用ASP.NET。1、 系统以下使用Drawing的示例将演示如何生成
  在网上看到一个关于图片处理的文章,用vb写的,翻译出来学习一下。
    在使用ASP的时候,我们时常要借助第三方控件来实现一些图象功能。而现在,ASP.NET的推出,我们已经没有必要再使用第三方控件来实现,因为ASP.NET 已经具有强大的功能来实现一些图象处理。现在,我们就来看看怎样使用ASP.NET的这一强大功能。
 
   一、System.Drawing的使用

   以下的举例将演示在内存中生成一张图片,然后,将这张图片通过网页显示出来。需要了解的是,我们这里输出的不是HTML效果,而是实实在在的图片(图象),我们可以使用“另存为…”将输出图象保存起来。

   我们先来看看效果:


图片处理渐变第1张
我们看到,这张图片是一个渐变背景上有“看见了吗”几个字,当然,这个效果在PhotoShop等图象处理软件里面很容易实现,但是,一些与数据库结合的应用我们不可能将所有图片都事先设计出来,这时候,利用ASP.NET来实现这些功能就显得很重要了。我们来看源代码:
图片处理渐变第2张using System;
图片处理渐变第2张
using System.Drawing;
图片处理渐变第2张
using  System.Drawing.Imaging;
图片处理渐变第2张
using System.Drawing.Drawing2D;
图片处理渐变第2张
图片处理渐变第2张            
//清空Response
图片处理渐变第2张
            Response.Clear();
图片处理渐变第2张
图片处理渐变第2张            
//建立一个120*30大小,24bit的BMP图像;
图片处理渐变第2张
            Bitmap imgOutput = new Bitmap(120,30,PixelFormat.Format24bppRgb);
图片处理渐变第2张        
图片处理渐变第2张            
//根据以上BMP建立一个新图像
图片处理渐变第2张
            Graphics g = Graphics.FromImage(imgOutput);
图片处理渐变第2张
图片处理渐变第2张            g.Clear(Color.Green);
图片处理渐变第2张            
//消除锯齿呈现
图片处理渐变第2张
            g.SmoothingMode = SmoothingMode.AntiAlias;
图片处理渐变第2张            g.DrawString(
"看见了吗?",new Font("黑体",16,FontStyle.Bold),new SolidBrush(Color.White),new PointF(2,4));
图片处理渐变第2张
图片处理渐变第2张            g.FillRectangle(
new LinearGradientBrush(new Point(0,0),new Point(120,30),Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,255,255)),0,0,120,30);
图片处理渐变第2张
图片处理渐变第2张            imgOutput.Save(Response.OutputStream,ImageFormat.Jpeg);
图片处理渐变第2张            g.Dispose();
图片处理渐变第2张            imgOutput.Dispose();
图片处理渐变第2张            Response.End();
图片处理渐变第2张

   在以上代码中,我们看到和数据库程序不同,这里专门引入了图象处理的名字空间system.drawing等。程序首先清空了Response,确保没有输出;然后,程序建立了一个120乘30大的BMP图象,再在这个基础上建立一个新图象,建立图象以后,我们首先“画”出了字符串“看见了吗”,该字符串为16大粗黑体,颜色为白色,位置为(2,4);最后,我们实现渐变效果。

   以上举例很简单,但是如果和数据库结合,我们可以实现很多使用ASP可能不敢想的效

免责声明:文章转载自《图片处理渐变》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浏览器对象存储数据详解String中intern方法的作用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

服务器使用Gzip压缩数据,加快网络传输(Java 例子)

The next version of the Project will provide support for gzip in order to faster speed of data transmission on the network。在我们的项目中,添加对gzip的支持,是为了加快数据在网络中的传输速度。If you need to trans...

Python3自定义http/https请求拦截mitmproxy脚本

[本文出自天外归云的博客园] 脚本内容 代码如下: from mitmproxy importhttp, ctx from multiprocessing importLock classFilter: def __init__(self, filter_info): self.log_info = "" s...

ASP.NET Core2.1 你不得不了解的GDPR(Cookie处理)

前言 时间一晃ASP.NET Core已经迭代到2.1版本了. 迫不及待的的下载了最新的版本,然后生成了一个模版项目来试试水. ...然后就碰到问题了... 我发现..cookie竟然存不进去了..(怨念+100) 找了各种资料,无果 最后无奈只得麻烦善友老师..老师回了一句GDPR 虽然一头雾水,但是还是去百度了一发.终于找到原因..(E文好的可以自...

有关CKEditor和CKFinder的集成

FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器。它志于轻量化,不需要太复杂的安装步骤即可使用。它能在asp、 asp.net、PHP、JSP等多个平台下使用,并且支持大部分浏览器,所以在它出现的6年时间里,成为了最流行的文字编辑器。随着技术的发展,很多更新更方便的东西为开发者提供了更大的便利。在这种情况下,FCKeditor团...

将文件以流的形式另存为下载

//【1】附件为本地磁盘路径(附件可以为图片、pdf、word等等)string strFile = Server.MapPath("/images/526763.pdf"); using (FileStream fs = new FileStream(strFile, FileMode.Open)) { byte[] bytes = new b...

DRF--视图集

@api_view() 在DRF中,也可以使用常规的基于函数的视图,DRF提供了一组简单的装饰器,用来包装你的视图函数,以确保视图函数会收到Request(而不是Django原始的HttpRequest)对象。并且返回Response(而不是Django中的HttpResponse)对象。同时允许你设置这个请求的处理方式。 @api_view()装饰器 语...