
图形图像软件编程
文章平均质量分 56
大可山人
原深圳报业集团问工网技术总监,东莞汉德紧急救援科学技术研究院副院长,现深圳侨报技术总监。
展开
-
C# Winform控件中鼠标拖动物件时加倍移动的问题
一般情况下,我们会在MouseDown事件中记录拖动物件开始(也就是鼠标左键按下)时的变量值。然后,再在MouseMove事件中,使用当前鼠标位置e.Location的值,减去mouseDownLocation。经调试发现,“加速”的原因在于mouseDownLocation没有实时更新,一直保持着OnMouseDown时的值。编写Winform控件时,经常会遇到鼠标拖动物件,然后显示同步等需求。如按以上的代码运行,我们会发现,拖拽动作“加速”了。鼠标拖动物件时,物件会“加速移动”。原创 2023-06-16 19:34:29 · 525 阅读 · 0 评论 -
仅在 Windows 上支持 System.Drawing.Common
跨平台应用可使用:ImageSharp, SkiaSharp, Microsoft.Maui.Graphics。原创 2023-03-22 15:11:30 · 1092 阅读 · 0 评论 -
C# .net中B样条曲线转贝塞尔曲线
C# .net中B样条曲线转贝塞尔曲线,主要方法:Spline2Bezier,涉及方法: PointF ControlPoint(PointF prev, PointF current, float t)及PointF[] ControlPoints(PointF prev, PointF next, PointF current, float t), 另:将GDI+中的DrawArc方法转为Svg中的Path路径:原创 2023-01-11 11:10:54 · 871 阅读 · 0 评论 -
从.net Framework4.6WPF升级到.netcore3.1/net5/6/7.0版本
本文通过upgrade-assistant工具(.net升级助手)使用命令行:upgrade-assistant upgradeyourWPF.csproj升级低版本WPF到net6.0-windows等,再改成适应性更强的netcoreapp3.1;net5.0;net6.0;net7.0;等。完成WPF的完美升级。原创 2022-12-10 09:14:14 · 2662 阅读 · 0 评论 -
圆角矩形填充原理图及口诀
圆角矩形填充原理图及口诀1、增加的情况(绿色): a. 自身空,围三实(如图2中1.2.3) b. 贪婪配,对角实(蓝色)(如图3中4.5)2、减少的情况(米黄): a. 自身实,围三空(如图2中1.2.3) b. 自身实,对角实,余两空(如图2中的4.5)原创 2022-11-23 10:58:29 · 321 阅读 · 0 评论 -
将GraphicsPath转为SVG代码
将GraphicsPath转为SVG代码,利用Path的PathData属性,PathData pathData = path.PathData;根据点类型逐一输出。原创 2022-11-21 14:51:02 · 794 阅读 · 0 评论 -
.net Winform自定义渐变个性化的GroupBox
.net Winform自定义渐变个性化的GroupBox:使用了自定义的LinearGradientBrush,从而让GroupBox显得更为个性化。原创 2022-11-12 15:14:19 · 501 阅读 · 0 评论 -
利用Bat批处理文件将.resources转换为.resx文件
由于VS无法直接打开.resources文件,但有时我们会遇到要将.resources转换为.resx文件的情况。原创 2022-11-10 19:58:44 · 1015 阅读 · 0 评论 -
直线曲线在线演示推荐网站:图形计算器
直线曲线在线演示推荐网站:图形计算器,里面有很多有用的公式,好处您自己去体会。多测试,多使用,还可以自定义公式!原创 2022-10-28 20:43:58 · 537 阅读 · 0 评论 -
在Winform中c#导出所有资源图片
在Winform中c#导出所有资源图片原创 2022-10-24 11:28:44 · 1499 阅读 · 0 评论 -
透明Png黑白图片上色(重新着色、改变成指定颜色)
透明Png黑白图片上色(改变成指定颜色), 注意:为了加快速度,需要允许不安全代码。原创 2022-10-18 15:16:58 · 1612 阅读 · 0 评论 -
贝塞尔曲线入门
function Bezier(n,t): sum = 0 for(k=0; k转载 2022-10-09 10:19:16 · 252 阅读 · 0 评论 -
Winform C# .Net中给ListBox加ToolTip提示
Winform C# .Net中给ListBox加ToolTip提示1、首先,在工具箱中将ToolTip控件拖入到Winform界面下方。2、接着,在指定的ListBox添加:XXX_MouseMove事件(如已添加则忽略此步)。其中:XXX为您的控件名称。原创 2022-09-08 09:05:08 · 1180 阅读 · 0 评论 -
C# .Net中鼠标Cursor的公用辅助类
有时,我们需要将背景透明的png或gif格式图片生成的Cursor,甚至将其旋转后生成旋转效果的Cursor(可指定热点)。原创 2022-09-05 14:17:17 · 868 阅读 · 0 评论 -
图形镜像对称(示意图)
图形镜像对称(示意图),原理,一看就懂。原创 2022-07-29 09:54:34 · 1195 阅读 · 0 评论 -
C#测量工具示意图
直观显示图形图像的测量结果。原创 2022-07-25 09:07:08 · 1184 阅读 · 1 评论 -
WINFORM + C# GDI+编程实现Photoshop, Illustrator类似绘图工具箱
WINFORM + C# GDI+编程实现Photoshop, Illustrator类似绘图工具箱原创 2022-07-13 10:32:29 · 1026 阅读 · 1 评论 -
C# 将图片字符化(转为ASCII字符)
C# 将图片字符化(转为ASCII字符#@!等)原创 2022-07-07 09:20:17 · 5652 阅读 · 1 评论 -
C#图像差异对比:图像相减(指针法、高速)
c#中利用指针,提高图像比较速度。转载 2022-06-25 09:12:54 · 583 阅读 · 0 评论 -
c#比较两张图像的差异
利用bitmap.LockBitsDisposable(...), if ((i + 1) % 4 == 0) *outputPtr = (byte)((*aPtr + *bPtr) / 2); else *outputPtr = (byte)~(*aPtr ^ *bPtr);比较图像差异。转载 2022-06-25 08:47:33 · 1426 阅读 · 0 评论 -
C#绘制带控制点的Bezier曲线,用于点阵图像及矢量图形
使用c# + GDI+进行SVG等绘图,绘制带控制点的Bezier曲线。可用于点阵图像及矢量图形(如SVG)绘图。原创 2022-06-24 16:09:29 · 1576 阅读 · 0 评论 -
利用Lambda表达式解决c#文件名排序问题(是100大还是11大的问题)
1、问题背景:有时需要对输出的文件列表进行排序,如直接使用List<T>.Sort()方法排序时,遇到9, 10,11和100排序的问题,往彺会出现2.xxx大于100.xxx (其中,xxx代表文件的后缀名) 等类似的情形,这明显不是我们要想的。另外,在同一组文件中,假如都以: NNN_1_ABC.xxx,NNN_2_ABC.xxx……NNN_NNNN_ABC.xxx等形式(其中N为数字),此时,在NNN相同情况下,我们希望NNN_100比NNN_2要“大”。比如下面的文件列表,.原创 2021-11-07 23:03:27 · 848 阅读 · 0 评论 -
C# SmoothProgressBar自定义进度条控件
using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System.Data;using System.Windows.Forms;namespace SmoothProgressBar{ /// <summary> /// UserControl1 的摘要说明。 /// </summary> public...原创 2021-10-28 18:54:04 · 452 阅读 · 0 评论 -
将单行文字自动适应到目标矩形框内
c#将单行文字自动适应到目标矩形框内(GDI+.Net)原创 2021-09-19 17:01:57 · 304 阅读 · 0 评论 -
C# 多个矩形围成的多边形标注位置的问题
需要对各矩形小块组成的多边形进行序号标注。如果按组合多边形的方式,则会出现可能序号不在块内或排列不美观。上述问题转化为:如何通过编程方式在任意多边形中找到最大的内接矩形?原创 2021-09-14 23:02:15 · 590 阅读 · 0 评论 -
解决.net 2.0以上版本GDI+绘图保存后在Photoshop中无法识别的问题
在VS2008(.net 2.0以上版本)下使用如下代码保存图片: private void btnSave_Click(object sender, EventArgs e) { saveFileDialog1.Filter = "PNG Image|*.png|JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Im原创 2012-09-17 22:36:00 · 2167 阅读 · 0 评论 -
在C#(.net)中实现文字按指定的路径排列(沿线排版)
先看一下效果图:这个的难点在于排版的算法上,其他的就是对GDI+中GraphicsPath的应用。以下为核心部分的源代码:using System;using System.Collections;using System.Collections.Generic;using System.Data;using System.Diagnostics;using System.Drawing;usin原创 2012-08-28 12:59:47 · 4571 阅读 · 1 评论 -
元旦了,发布一个2009年的年历模板
元旦了,发布一个2009年的年历模板。(下载地址在这里:http://johnsuna.download.youkuaiyun.com/找到“2009年万年历模板”之后点击下载,下载之后的文件名为:ChineseCalendar4c_3r.png)你可以使用Photoshop或其他图像处理软件,加上你自己的照片(要求照片的最小一边的像素为:1024至2048像素左右)。如果拿去数码冲印店冲印或是激光原创 2008-12-28 20:03:00 · 5522 阅读 · 4 评论 -
Illustrator CS中字体丢失或缺失问题的解决方法
在使用Illustrator CS系列软件时,我们常会遇到这种情形:比如安装方正和汉仪字体后,打开AI在调板里无法显示字体选择。英文可以在菜单栏里选择,但是没有出现中文字体的选择。甚至出现之前可以显示的中文字体也显示不了。而在PS里面连新安装的字体全部的字体都可以使用。而那些已安装字体也可以被WORD等软件识别并使用,但无法被Illustrator正确识别,这将导致:(1)在Illstra原创 2009-01-30 10:47:00 · 44116 阅读 · 2 评论 -
Illustrator CS4之fxg文件格式(MXML) Vs WPF之XAML
在Illustrator CS4中,可以将图形文件用 FXG 格式存储。根据Adobe文档,在 Illustrator 中创建可在 Adobe Flex® 中使用的结构化图形时,可将文件存储为 Flash XML 图形格式 (FXG) 格式。先来看看一个例子:这个例子非常简单,画一个带填充色和边框的矩形。看看FXG代码:Graphic version="1.0" viewHei原创 2009-01-03 23:28:00 · 3951 阅读 · 0 评论 -
C#调用Illustrator CS4生成系统所有字体列表并保存为AI文件(Illustrator矢量图形编程之4)
本篇讲述C#调用Illustrator CS4生成系统所有字体列表并保存为AI文件,作为前几篇Illustrator矢量图形编程系列的续篇。本文的重点在于如何取得字体列表,如何对文字输出的格式、大小进行控制,最后又是如何保存为Illustrator的不同版本的。先看运行之后的效果图:下面看看C#处理的代码:private void btnChangeWords_Click(ob原创 2009-01-04 17:34:00 · 8008 阅读 · 3 评论 -
C#调用Illustrator生成矢量图的缩略图(Illustrator矢量图形编程之3)
今天在一个图片网站上,上传Illustrator图片时,突然想到一个问题:已有一幅Illustrator做好的2009年的年历,想使用C#程序生成缩略图。怎么做呢?本文解决这个问题。Illustrator原图在这里找到后下载(http://download.youkuaiyun.com/johnsuna)。注意:需要添加对Illustrator动态链接库的引用。(在COM选项卡下的Adobe Illu原创 2009-01-03 14:33:00 · 10898 阅读 · 5 评论 -
用C#制作含万年历的台历(2009年样张)之2
上篇《用C#制作含万年历的台历(2009年样张)之1》(http://blog.youkuaiyun.com/johnsuna/archive/2009/01/02/3683939.aspx)给出了台历的各种实样图,从这篇开始我将用程序写出各个台历样式的实现。本篇说说大致的框架,好象建房子一样,先搭框架,框架答好之后,将砖等再填充进去。首先,建一个基础的接口类。由于所有的台历均需要实现“画”的动作,原创 2009-01-02 17:54:00 · 4170 阅读 · 4 评论 -
疯狂的图形(利用C# + GDI plus模拟杂乱无章的现实场景)
本文给出了模拟竹叶、长叶草、杂乱石头、天上繁星等关键代码。使用.Net环境下C#语言,GDI+编写。 模拟竹叶挺像的吧?谁说不像,我跟谁急!//关键参数int minCorners = 3;int maxCorners =4;PointF[] points = Stone.CreateStone(new Point((int)(perX * j), (int)(perY * i)), (int)(原创 2012-09-15 11:06:13 · 7367 阅读 · 13 评论 -
关于QRCODE二维码使用彩色进行扩容的思考
本篇是在前几篇博客基础上的思考,一些想法并不成熟,还有很多有待细化,仅起抛砖引玉作用,欢迎对相关算法感兴趣及有数学良好基础的亲们板砖!一、QRCODE二维码基础在进行本议题之前,我们还是先来看看普通QRCODE二维码的结构及简单的基础知识。1、版本:QR码符号共有40种规格,分别为版本1、版本2„„版本40。版本1的规格为21模块×21模块,版本2为25模块×25模块,以此类推,每一版本符号比前一原创 2012-09-22 18:52:56 · 8726 阅读 · 15 评论 -
你的微信二维码是唯一的吗?【微信二维码的秘密】
最近听说有一老板被一科技公司业务员忽悠,说“您赶快来注册您唯一的二维码吧!否则,会被别人抢注的!”很多人以为自己的微信二维码、网站的二维码是唯一的,果真如此吗?事实上,不是!原创 2014-05-23 10:57:47 · 14906 阅读 · 3 评论 -
Xamarin版的C# SVG路径解析器
对SVG的Path路径进行解析,其中包括:主程序SvgPathParser.cs, 相关接口定义:ISourceFormatter.cs, 辅助类:FormatterRocks.cs, 从接口派生的CSharpCoreGraphicsFormatter.cs。原创 2017-08-26 10:15:32 · 8404 阅读 · 0 评论 -
通过编程做特别效果的个性“微信”二维码(思路)
注,这里只说编程思路,没有源代码。先看效果:图1 灯笼效果的二维码从上图可以看到,其特征是:(1)整个外形为灯笼;(2)内部填充为二维码图像;(3)中间核心区域为我们真正所要的二维码;(4)二维码中还嵌入一个LOGO。如何实现呢?1、先来看看实现这些所需要的“原料”。(1)首先必须有一个灯笼形的外框及填充用的二维码,如下图:图2 灯笼形外框及填充用的二维码为了读者观察和笔者描述更方便,我将两者合原创 2013-05-17 16:18:02 · 18637 阅读 · 3 评论 -
利用Go语言上传图像并生成缩略图
承前文:Go语言中对图像进行缩放//利用Go语言上传图像并生成缩略图func upload(w http.ResponseWriter, req *http.Request, link string) { // Upload of a new image. // Copied from Moustachio demo. f, _, err := req.FormFile("image") if e原创 2013-04-12 14:56:55 · 7470 阅读 · 0 评论 -
圆周弧长的计算问题(简易公式)
/*Java Script for Online Ellipse Arc Length CalculatorAuthor : Joe BartokDate : April / 2004*Url:http://www.oocities.org/web_sketches/ellipse_notes/ellipse_arc_length/ellipse_arc_length.htmlArc Length转载 2013-02-03 10:58:35 · 3313 阅读 · 0 评论