ASP.NET MVC 网站开发总结(七)——C#操作图片:多张图的拼接(旋转)

其实用C#来操作图片的拼接就是在用Graphic画图。个人感觉还是挺有趣的,各种类库提供了丰富多彩的功能。

源代码(移植到一个简单的C#程序中,并没有放在ASP.NET项目中):

using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

namespace Test
{
    class Program
    {

        static void Main(string[] args)
        {

            Image img = new Bitmap(new Bitmap("model1.png"), 800, 450);//加载图片
            Graphics g = Graphics.FromImage(img);//将图片转化Graphics
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;//加上抗锯齿效果
            //
            Point[] destPoints1 = {
                        new Point(453, 87),//图片左上点
                         new Point(638, 19),//图片右上点
                         new Point(497, 212),//图片左下点
                    };
            g.DrawImage(new Bitmap("img1.jpg"), destPoints1);//按指定的顶点画图
            g.DrawLines(new Pen(Brushes.Gray), new Point[] {
                         new Point(453, 87),
                         new Point(638, 19),
                         new Point(683, 144),
                         new Point(497, 212),
                         new Point(453, 87),
                    });//画线,描绘img1图片的边界

            Point[] destPoints2 = {
                        new Point(400, 158),
                        new Point(590, 203),
                        new Point(370, 287)
                    };
            g.DrawImage(new Bitmap("img1.jpg"), destPoints2);
            g.DrawLines(new Pen(Brushes.Gray), new Point[] {
                        new Point(400, 158),
                        new Point(590, 203),
                        new Point(559, 332),
                        new Point(370, 287),
                        new Point(400, 158),
                    });
            g.FillRectangle(Brushes.Gray, 525, 279, 201, 135);//画矩形
            g.DrawImage(new Bitmap("img1.jpg"), 526, 280, 199, 133);//直接按指定长宽画图
            img.Save("test1.png");//保存为图片
            img.Dispose();//显示释放资源
            g.Dispose();
        }
    }
}

效果图:

  此次知识分享就到这,敬请期待下一次的分享。^_^

<我的博客主页>:http://www.cnblogs.com/forcheng/

<Wing工作室主页>:http://www.wingstudio.org/

时间: 2024-11-14 06:50:20

ASP.NET MVC 网站开发总结(七)——C#操作图片:多张图的拼接(旋转)的相关文章

ASP.NET MVC 网站开发总结(三) ——图片截图上传

本着简洁直接,我们就直奔主题吧,这里需要使用到一个网页在线截图插件imgareaselect(请自行下载). 前台页面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="css/imgareaselect-default.css" /> </head> <

ASP.NET MVC 网站开发总结(四)——校友平台开发总结

又历经一个多月的努力,学校的一个校友平台项目也接近内测的尾声了,简单的总结一下这次的项目开发. 与上次做WingStudio工作室的门户网站相比,同样是团队开发,参与的人员多了一个,用的时间也差不多一个月,但从总体做的情况来看,这次比上一次要做的好得多(不论是页面的样式还是后台的模块化封装),这是进步也是必然,这次自己的任务仍旧是负责后台以及后台与前台的拼接. 总的来说,用ASP.NET MVC开发网站的效率是相当高的(而且也相当的好部署),特别是针对后台的开发,只要前期对页面的功能分析到位,立

ASP.NET MVC 网站开发总结(一)

历经一个多月的努力,工作室的门户网站终于结束了内部公测. 仔细算一下,大概把网站开发出1.0版本大概用了一个月的时间(主要是利用课余时间),其后大概用了十几天来测试.完善.改进,最终定型.感觉最有难度的既不是后台代码的编写,也不是前台页面的编写,而是将不同人编写的前台和后台很好的拼接起来(当然若是前台和后台都是同一个人做,当然不存在这个问题^_^).这也是自己第一次与工作室的伙伴共同完成一个网站.简单的总结一下,团队开发网站需要注意的地方以及收获吧!(其中我主要的任务是后台代码编写以及后台与前台

ASP.NET MVC 网站开发总结(六)——简谈Json的序列化与反序列化

首先,先简单的谈一下什么是序列化与反序列化,序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化(Deserialization)对象的状态,重新创建该对象. 一般我们把Json的序列化与反序列化用在哪些地方呢?对于网站开发来说,一般我们会用Json来进行前台和后台的数据传递(常与Ajax一起使用),而这个过程就涉及到了Json的序列化与反序列化. 那么我们就来简单看

ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码

首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变? 先说一下为什么有这个需求:以提交注册信息页面为例,一般注册都需要用户填一个验证码信息(防止机器恶意注册),并且这个验证码会提交到后台去进行比对,若是错了则不会检查其他提交信息而直接返回浏览器端提示验证码错误.若是简单地用form表单直接将数据提交到指定的url,当验证码填写错误的信息返回浏览器端的时候,不可避免整个页面都会重新刷新一次,这是用户所不想要

ASP.NET MVC网站开发流程

在创建网站之前,最重要的就是先规划网站架构.页面等工作.具体步骤如下: 1.需求分析——网站架构与功能 规划网站页面:页面层次.名称及简介 规划网站功能:功能简述 2.Model数据模型规划 根据网站各功能设计模型类 3.Controller控制器架构规划 根据各功能类别设计相应控制器,如会员功能,则应有注册.写入页面.登录.运行与注销等. 4.View创建视图页面 创建主版页面 添加视图 5.添加数据库与购物车功能 添加信息功能类:设置连接参数. 添加导览属性:直接通过导览属性快速取得信息.

《微软Azure云计算开发实战(2):Azure部署ASP.NET MVC 网站

今天我们继续学习Azure的实战开发,<微软Azure云计算开发实战(2):Azure部署ASP.NET MVC 网站. 在你注册完Azure的使用账户以后,下面就可以登陆Azure管理界面了.因为我们后续的开发工作都要用到Azure的资源. Azure作为公有云平台,提供了几乎所有的平台支持,操作系统包括Linux Mac OS Windows,数据库主流的都支持,网站空间,数据库,虚拟主机操作系统 几乎都有.还有流媒体服务,Hadoop集成,Bigtable等. 我们先来学习一下如何部署一个

ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

转自:http://www.cnblogs.com/mzwhj/p/3592895.html 上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东西没有理由不支持. 附件的上传同样基于KindEditor实现,可以上传图片,flash,影音,文件等. 目录 ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一)

总结一下ASP.NET MVC 网站的部署问题

总结一下ASP.NET MVC 网站的部署问题 近日,准备把MVC建了一个新的测试站点部署到IIS上面,结果没想到出现了一系列的问题和错误,准备记录一下. 第一个问题,就是如何将MVC的站点部署到IIS上去? 现在我的系统是Windows 7,IIS也是7.0的版本,一开始部署的时候,还是按照.NET 2.0的方式部署,选择的是经典的模式,结果错误页面就出现了. 这张图是一开始按照原有的习惯部署.NET2.0的方式部署的,大家仔细看那个应用程序池,选择的是自己新建的,而且是经典模式 下面这张,就