• [译]如何在.NET Core中使用System.Drawing?


    你大概知道System.Drawing,它是一个执行图形相关任务的流行的API,同时它也不属于.NET Core的一部分。最初是把.NET Core作为云端框架设计的,它不包含非云端相关API。另一方面,.NET Core是跨平台框架,它不包含任何操作系统特定的API,例如Windows上的Active Directory活动目录 。再者,.NET Core也不包括类似,作为.NET framework一部分的,ConfigurationManager这样的诸多API。

    在我之前的文章中,我已经描述了如何将这些API用于.NET Core和.NET标准应用程序。

    为了实现这一点,有一个称为Windows Compatibility Pack的元包。但是,这个元包包含许多与Windows相关的API(作为包分发)。在这个元包里面有一个System.Drawing.Common包。

    为了在.NET Core中使用绘图功能,请在Nuget包添加引用:

    <PackageReference Include="System.Drawing.Common" Version="4.5.0-preview1-**" >
    

    在这之后,你将可以运行例如以下的代码。

    int x = 100;
    Image image = new Bitmap(2000, 1024);
    
    Graphics graph = Graphics.FromImage(image);
    
    graph.Clear(Color.Azure);
    
    Pen pen = new Pen(Brushes.Black);
    
    graph.DrawLines(pen, new Point[] { new Point(10,10), new Point(800, 900) });
    
    graph.DrawString("Hello drawing from .NET Core :)", 
    new Font(new FontFamily("DecoType Thuluth"), 20,  FontStyle.Bold), 
    Brushes.Blue, new PointF(150, 90));
    
    image.Save("graph.jpeg", System.Drawing.Imaging.ImageFormat.Png);
    

    在你运行上述代码之后,你将看到如下图片:

    下面是当前已经支持的字体列表:

    AGA Arabesque
    AGA Arabesque Desktop
    Agency FB
    Akhbar MT
    Algerian
    Arial
    Arial Black
    Arial Narrow
    Arial Rounded MT Bold
    Bahnschrift
    Bahnschrift Light
    Bahnschrift SemiBold
    Bahnschrift SemiLight
    Baskerville Old Face
    Bauhaus 93
    Bell MT
    Berlin Sans FB
    Berlin Sans FB Demi
    Bernard MT Condensed
    Blackadder ITC
    Bodoni MT
    Bodoni MT Black
    Bodoni MT Condensed
    Bodoni MT Poster Compressed
    Bold Italic Art
    Book Antiqua
    Bookman Old Style
    Bookshelf Symbol 7
    Bradley Hand ITC
    Britannic Bold
    Broadway
    Brush Script MT
    Calibri
    Calibri Light
    Californian FB
    Calisto MT
    Cambria
    Cambria Math
    Candara
    Castellar
    Centaur
    Century
    Century Gothic
    Century Schoolbook
    Chiller
    Colonna MT
    Comic Sans MS
    Consolas
    Constantia
    Cooper Black
    Copperplate Gothic Bold
    Copperplate Gothic Light
    Corbel
    Courier New
    Curlz MT
    DecoType Naskh
    DecoType Naskh Extensions
    DecoType Naskh Special
    DecoType Naskh Swashes
    DecoType Naskh Variants
    DecoType Thuluth
    Diwani Bent
    Diwani Letter
    Diwani Outline Shaded
    Diwani Simple Outline
    Diwani Simple Outline 2
    Diwani Simple Striped
    Dosis
    Dubai
    Dubai Light
    Dubai Medium
    Ebrima
    Edwardian Script ITC
    Elephant
    Engravers MT
    Eras Bold ITC
    Eras Demi ITC
    Eras Light ITC
    Eras Medium ITC
    Farsi Simple Bold
    Farsi Simple Outline
    Felix Titling
    Footlight MT Light
    Forte
    Franklin Gothic Book
    Franklin Gothic Demi
    Franklin Gothic Demi Cond
    Franklin Gothic Heavy
    Franklin Gothic Medium
    Franklin Gothic Medium Cond
    Freestyle Script
    French Script MT
    FZShuTi
    FZYaoTi
    Gabriola
    Gadugi
    Garamond
    Georgia
    Gigi
    Gill Sans MT
    Gill Sans MT Condensed
    Gill Sans MT Ext Condensed Bold
    Gill Sans Ultra Bold
    Gill Sans Ultra Bold Condensed
    Gloucester MT Extra Condensed
    Goudy Old Style
    Goudy Stout
    Haettenschweiler
    Harlow Solid Italic
    Harrington
    High Tower Text
    HoloLens MDL2 Assets
    Impact
    Imprint MT Shadow
    Informal Roman
    Italic Outline Art
    Javanese Text
    Jokerman
    Juice ITC
    Kristen ITC
    Kufi Extended Outline
    Kufi Outline Shaded
    Kunstler Script
    Lato
    Lato Black
    Led Italic Font
    Leelawadee UI
    Leelawadee UI Semilight
    LiSu
    Lucida Bright
    Lucida Calligraphy
    Lucida Console
    Lucida Fax
    Lucida Handwriting
    Lucida Sans
    Lucida Sans Typewriter
    Lucida Sans Unicode
    Magneto
    Maiandra GD
    Malgun Gothic
    Malgun Gothic Semilight
    Marlett
    Matura MT Script Capitals
    Microsoft Himalaya
    Microsoft JhengHei
    Microsoft JhengHei Light
    Microsoft JhengHei UI
    Microsoft JhengHei UI Light
    Microsoft New Tai Lue
    Microsoft Office Preview Font
    Microsoft PhagsPa
    Microsoft Sans Serif
    Microsoft Tai Le
    Microsoft YaHei
    Microsoft YaHei Light
    Microsoft YaHei UI
    Microsoft YaHei UI Light
    Microsoft Yi Baiti
    MingLiU-ExtB
    MingLiU_HKSCS-ExtB
    Mistral
    Modern No. 20
    Mongolian Baiti
    Monotype Corsiva
    Monotype Koufi
    Montserrat
    MS Gothic
    MS Office Symbol (de-de) Bold
    MS Office Symbol (de-de) Light
    MS Office Symbol Extralight
    MS Office Symbol Regular
    MS Office Symbol Semibold
    MS Office Symbol Semilight
    MS Outlook
    MS PGothic
    MS Reference Sans Serif
    MS Reference Specialty
    MS UI Gothic
    MT Extra
    Mudir MT
    MV Boli
    Myanmar Text
    Niagara Engraved
    Niagara Solid
    Nirmala UI
    Nirmala UI Semilight
    NSimSun
    OCR A Extended
    Old Antic Bold
    Old Antic Decorative
    Old Antic Outline
    Old Antic Outline Shaded
    Old English Text MT
    Onyx
    Oswald
    Palace Script MT
    Palatino Linotype
    Papyrus
    Parchment
    Perpetua
    Perpetua Titling MT
    Playbill
    PMingLiU-ExtB
    Poor Richard
    Pristina
    PT Bold Arch
    PT Bold Broken
    PT Bold Dusky
    PT Bold Heading
    PT Bold Mirror
    PT Bold Stars
    PT Separated Baloon
    PT Simple Bold Ruled
    Rage Italic
    Ravie
    Rockwell
    Rockwell Condensed
    Rockwell Extra Bold
    Script MT Bold
    Segoe MDL2 Assets
    Segoe Print
    Segoe Script
    Segoe UI
    Segoe UI Black
    Segoe UI Emoji
    Segoe UI Historic
    Segoe UI Light
    Segoe UI Semibold
    Segoe UI Semilight
    Segoe UI Symbol
    Showcard Gothic
    Simple Bold Jut Out
    Simple Indust Outline
    Simple Indust Shaded
    Simple Outline Pat
    SimSun
    SimSun-ExtB
    Sitka Banner
    Sitka Display
    Sitka Heading
    Sitka Small
    Sitka Subheading
    Sitka Text
    Snap ITC
    Source Sans Pro
    Source Sans Pro Black
    Source Sans Pro Semibold
    STCaiyun
    Stencil
    STFangsong
    STHupo
    STKaiti
    STLiti
    STSong
    STXihei
    STXingkai
    STXinwei
    STZhongsong
    Sylfaen
    Symbol
    Tahoma
    Tempus Sans ITC
    Times New Roman
    Trebuchet MS
    Tw Cen MT
    Tw Cen MT Condensed
    Tw Cen MT Condensed Extra Bold
    Verdana
    Viner Hand ITC
    Vivaldi
    Vladimir Script
    Webdings
    Wide Latin
    Wingdings
    Wingdings 2
    Wingdings 3
    YouYuan
    Yu Gothic
    Yu Gothic Light
    Yu Gothic Medium
    Yu Gothic UI
    Yu Gothic UI Light
    Yu Gothic UI Semibold
    Yu Gothic UI Semilight
    

    翻译自:How to use System.Drawing in .NET Core?

  • 相关阅读:
    用好idea这几款插件,可以帮你少写30%的代码
    面试官:一个TCP连接可以发多少个HTTP请求?
    php5.4、5.5、5.6高版本中htmlspecialchars兼容性处理
    IIS8的SNI功能实现同一服务器多HTTPS站点
    appache 在windows 中无法启动的测试
    lumen 支持多文件上传及php 原生多文件上传
    laravel windows安装
    jQuery 为动态添加的元素绑定事件
    thinkphp 5.0 在appache下隐藏index.php入口代码
    thinkphp5.0 分页中伪静态的处理
  • 原文地址:https://www.cnblogs.com/AlienXu/p/9167549.html
Copyright © 2020-2023  润新知