System.Drawing Mono 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
在最新版的 .NET 平台中,微软在逐步放弃 System.Drawing.Imaging ,给出的理由如下:
.NET Core 目前更新到2.2了,但是直到现在在 .NET Core 本身依然不包括和图片有关的 Image、Bitmap 等类型。对于图片的操作在我们开发中很常见,比如:生成验证码、二维码等等。在 .NET Core 的早期版本中,有 .NET 社区开发者实现了一些 System.Drawing 的 Image等类型实现的组件,比如 CoreCompat.System.Drawing、ZKWeb.System.Drawing等。后来微软官方提供了一个组件 System.Drawing.Common实现了 System.Drawing 的常用类型,以 Nuget 包的方式发布的。今天就围绕它来讲一讲这里面的坑。
System 包含了基础类,用于定义类型/数组/字符串/事件/事件处理程序/异常 处理 /接口/数据类型转换/数学计算/应用程序环境管理等等.
SixLabors.ImageSharp 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
通过命名空间来分类,区别不同的代码功能,也是ASP.NET中所有类的完全名称的一部分。
1.打开新窗口 这个简单:Response.Write(@ language=javasJavaScript
Mono官网:http://mono-project.com/ 2.0 Release Notes: http://www.mono-project.com/Release_Notes_Mono_2.0 Mono Project Announces Mono 2.0 for Cross-Platform Microsoft .NET Development: http://www.novell.com/news/press/mono-project-announces-mono-2-0-for-cros
using System; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Reflection;
Umbraco 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
ASP.NET MVC, Web API and Web Pages Razor 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
图片加水印是网站中使用非常广泛的技术,可以保护网站内容的版权,例如我博客这样的网站。在传统ASP.NET(.NET Framework)中,我们可以使用System.Web.Helpers.WebImage来添加水印,就像这样:
Orchard CMS 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
UWP Community Toolkit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
IdentityManager 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Xamarin.Auth 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Newtonsoft.Json 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Protobuild 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
WiX Toolset 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
MVVM Light Toolkit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Json.NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
MailKit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
ASP.NET Core 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
WCF 包含一组面向客户端的类库,它使得基于 .NET Core 构建的应用能够调用 WCF 服务。
MSBuild 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
OWIN Authentication Middleware Katana Project 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Windows Template Studio 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
MimeKit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
在90年代初,Microsoft为Web程序员提供的ActiveServerPages(ASP运维
Cecil 是一款可采用 ECMA CIL (国际标准化通用中间语言)格式对程序或类库进行再造或检视的类库。
SourceLink 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Xamarin.Mobile 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
ASP.NET SignalR 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Windows Forms 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Humanizer 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Cake 是一款支持多操作系统的自动化系统,其采用 Roslyn 和 Mono 编辑器进行构建,并采用 C# 作为自动化系统的脚本语言。
Windows Phone Toolkit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Salesforce Toolkits for .NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Managed Extensibility Framework MEF, MEF2 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
IdentityServer 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Kudu 是一款用于 Github Deployment、WebJobs 和其他诸多特性的核心引擎,它运行于 Azure Web Sites 之上。同时,它也支持在 Azure 之外进行运行。
ASP.NET Ajax Control Toolkit 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Open Live Writer 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
DotVVM: Component-based MVVM framework for ASP.NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
如果没有一个外部组件的支持,在ASP中是不能动态创建图形的,不管它是一个图表,一个横幅或仅仅是一个图形计数器。可喜的是,这一点在ASP.NET中改变了。现在,我们只需要使用内置功能,就能够很容易动态创建图形,并向客户端发送具有最佳配置的图形。 用命令行程序创建图形 在讨论一大堆ASP.NET代码之前,我们先执行一个简单的命令行程序做一个测试,然后使用这些源代码作为 ASP.NET 脚本的基础。实际上,两者的区别在于:命令行程序将图形保存在一个文件中,而ASP.NET 脚本将图形直接发送到客户端。 举例的程序做什么呢?按照惯例,我们从众所周知的"Hello World" 程序开始,把这个文本信息输出到一个图形文件中,这个图形的大小要与当前选中的 "Hello World" 文本的字体和字号完全相同。 下面的脚本pagecounter.cs是一个典型的简单命令行程序:如果忽略包围在其周围的必须的类代码,就只剩下程序运行时要调用的主函数了,这也正是生成图形的代码所在处: using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; public class CTestBitmapFunctionality { public static void Main() { Bitmap newBitmap = null; Graphics g = null ; try { Font fontCounter = new Font("Lucida Sans Unicode", 12); // calculate size of the string. newBitmap = new Bitmap(1,1,PixelFormat.Format32bppARGB); g = Graphics.FromImage(newBitmap); SizeF stringSize = g.MeasureString("Hello World", fontCounter); int nWidth = (int)stringSize.Width; int nHeight = (int)stringSize.Height; g.Dispose(); newBitmap.Dispose(); newBitmap = new Bitmap(nWidth,nHeight,PixelFormat.Format32bppARGB); g = Graphics.FromImage(newBitmap); g.FillRectangle(new SolidBrush(Color.White), new Rectangle(0,0,nWidth,nHeight)); g.DrawString("Hello World", fontCounter, new SolidBrush(Color.Black), 0, 0); newBitmap.Save("c://test.png", ImageFormat.PNG); } catch (Exception e) { Console.WriteLine(e.ToString()); } finally { if (null != g) g.Dispose(); if (null != newBitmap) newBitmap.Dispose(); } } } 在任何情况下,执行上面代码后,就会生成下面的图形test.png,它将存放在C驱动器上: 我们来仔细研究一下源代码,看看这个图形是如何创建的。关键一点是生成的图形必须与文本 "Hello World" 的字体和字号相同。因此,首先要计算文本的尺寸,为此我们使用了一个尺寸为1 x 1的虚拟图形。计算结束之后,再废弃这个虚拟图形并生成一个适当尺寸的图形。 源代码中有一点很有趣,这就是 Graphics 对象。要创建一个位图时,用这个对象做什么呢?奥妙在于:这是可以向其中绘图的上下文环境。我们可以在屏幕上、打印机上和内存中使用一个图形上下文环境,准确地说就是一个位图。图形的上下文环境使我们能够在任何设备上进行绘图操作,甚至是在虚拟设备上。 接着,用DrawString将文本 "Hello World"按照规格输出到一个白色背景的矩形(用 FillRectangle创建的)中。图形完成后,将其保存在磁盘上。凡是亲自研究过图形文件格式的人都知道这有多困难,但是使用 GDI+
NuGet Gallery (nuget.org) 是一个中心化的报管理中心,可以为全世界的作者和用户提供包管理服务。
LLILC (pronounced ‘lilac’) is an LLVM based MSIL Compiler. The goal of the project is to produce a set of .NET tools that utilize LLVM to reach a broad set of platforms and chip architectures. Today LLILC is being developed against dotnet/CoreCLR for use as a JIT, but an ahead of time (AOT) compiler is planned for the future.
Akka.NET 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Chemistry Add-in for Word 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
Telerik UI for UWP 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
领取专属 10元无门槛券
手把手带您无忧上云