CN111142816B - 一种用于打印机上基于算法描线画圆环的方法 - Google Patents
一种用于打印机上基于算法描线画圆环的方法 Download PDFInfo
- Publication number
- CN111142816B CN111142816B CN201911390542.3A CN201911390542A CN111142816B CN 111142816 B CN111142816 B CN 111142816B CN 201911390542 A CN201911390542 A CN 201911390542A CN 111142816 B CN111142816 B CN 111142816B
- Authority
- CN
- China
- Prior art keywords
- circle
- point
- axis
- traceable
- circular ring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1215—Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/125—Page layout or assigning input pages onto output media, e.g. imposition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种用于打印机上基于算法描线画圆环的方法,确定打印机喷墨头所要实现的功能操作,功能操作为在直线方向形成用于绘制的可描线段,对应打印机的控件生成画圆环时对应喷墨头打印的像素数据,包括以下步骤:根据待画圆位置和圆形自定义控件指定位置计算圆心的坐标;设定圆环对应的内虚拟圆和外虚拟圆;计算出圆环在坐标轴上的可描线段的坐标,对应不在坐标轴上的可描线段,计算出圆环在各象限内的坐标;通过构造函数以点为单位描线段,描画出喷墨头打印的圆环图形像素数据,生成画圆环时对应以点为单位描线段的像素数据,避免计算时在圆线的同一位置上有重复计算画点的现象,加快像素数据的生成时间,有效缩短响应打印指令的等待时间。
Description
【技术领域】
本发明涉及计算机图形学领域,尤其是一种用于打印机上基于算法描线画圆环的方法。
【背景技术】
简单地说,现有热敏打印机上打印圆环的过程就是喷墨头根据生成的最接近圆环的像素数据进行喷墨的过程。
目前的热敏打印机,存在多种计算后形成像素数据来描画圆环的方法,但多数是从画圆渐变而来,也就是逐渐改变圆半径逐一画圆,达到画圆环的效果,而画圆的算法一般有bresenham画圆法、正负画圆法、中点画圆法、快速画圆法等,这些算法都是比较高效的算法,但逐一画圆,一旦圆环厚度够厚或圆环对应的直径比较大时,就会出现耗时太多,造成打印机响应打印指令的等待时间比较长,影响用户使用的体验效果;另外,这些算法在计算时,同时存在在圆线的同一位置上有重复画点的现象,同样,延缓像素数据的生成时间,进一步地延缓响应打印指令的等待时间,造成打印指令下发后,打印机长时间怠机或不进行打印动作。
【发明内容】
本发明解决逐一画圆耗时造成像素数据的生成时间长问题,提供一种针对画厚圆环采用描线画圆环方式、更能节省画圆时间的快速,有效缩短响应打印指令的等待时间和提高用户使用体感的用于打印机上基于算法描线画圆环的方法。
为达到上述明目的,采用的技术方案如下:
一种用于打印机上基于算法描线画圆环的方法,包括以下步骤:
确定打印机喷墨头所要实现的功能操作,所述功能操作为在直线方向形成用于绘制的可描线段,对应打印机的控件生成画圆环时对应喷墨头打印的像素数据,具体为:
步骤一:根据待画圆位置和圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;确定圆环的圆心,并以该圆心为原点做笛卡尔坐标系,其中y轴为竖轴,x轴为横轴;
步骤二:设定圆环对应的内虚拟圆和外虚拟圆的半径分别为r和R,内虚拟圆外围的外虚拟圆上形成一个虚拟圆环;
步骤三:设定虚拟圆环在x轴的正向形成的线段为可描线段,计算出可描线段的两端点坐标,则令直线y=0与虚拟圆环相交于A点和B点,该A点和B点是可描线段的两端点,此时A点、B点的坐标分别为(r,0)和(R,0);
步骤四:根据圆的对称性,以及步骤三中的可描线段,依次计算出关于x轴对称的可描线段、和关于y轴对称的可描线段为(-r,0)和(-R,0)两点间的线段;
步骤五:根据步骤三和步骤四计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤六:对应不在坐标轴上的可描线段,重复步骤三的步骤,设定不在坐标轴上的可描线段在y轴上的直线高度y=h,与虚拟圆环相交于C点和D点,此时C点和D点间的线段便是可描线段,而C点和D点的坐标分别可表示为(|√(r*r-h*h)|,h)和(|√(R*R-h*h)|,h),坐标中符号√表示开根号,两竖线表示两竖线的值取正值,也就是取绝对值:
步骤七:根据圆的对称性,以及步骤六中的可描线段,计算出圆中各象限的不在坐标轴上的可描线段;
步骤八:根据步骤七计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤九:根据步骤六至步骤八,由于不同的可描线段的高度不一样,也就是y=h的h取值不一样,取值范围(0,R);当h的取值范围在(r,R)之间时,其中C点的坐标为(0,h),如此计算出圆环在各象限内的坐标;
步骤十:根据步骤一至步骤九中,计算出的可描线段在各象限内的坐标,通过构造函数以点为单位描线段,描画出一个用于喷墨头打印的圆环图形像素数据。
本发明的优点:
本发明针对打印机喷墨头打印时所要实现沿直线方向绘制的可描线段,特别是圆环厚度够厚或圆环对应的直径比较大时,画厚圆环采用描线画圆环方式,生成画圆环时对应以点为单位描线段的像素数据,避免计算时在圆线的同一位置上有重复计算画点的现象,提高像素数据的生成时间,有效缩短响应打印指令的等待时间和提高用户使用体感,更能节省画圆的计算时间,有效解决内控软件中逐一画圆计算耗时而造成像素数据的生成时间长问题,使得打印指令下发后,打印机的打印动作可以快速响应,提高用户使用体感。
【附图说明】
图1是本发明中内虚拟圆和外虚拟圆的示意图;
图2是本发明中不在坐标轴上的可描线段的虚拟圆环结构示意图;
图3是本发明采用C语言计算的虚拟圆环结构示意图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种用于打印机上基于算法描线画圆环的方法,包括以下步骤:
确定打印机喷墨头所要实现的功能操作,所述功能操作为在直线方向形成用于绘制的可描线段,对应打印机的控件生成画圆环时对应喷墨头打印的像素数据,具体为:
步骤一:根据待画圆位置和圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;确定圆环的圆心,并以该圆心为原点做笛卡尔坐标系,其中y轴为竖轴,x轴为横轴;
步骤二:如图1所示,设定圆环对应的内虚拟圆和外虚拟圆的半径分别为r和R,内虚拟圆外围的外虚拟圆上形成一个虚拟圆环;
步骤三:设定虚拟圆环在x轴的正向形成的线段为可描线段,该可描线段为图1中加粗的线段,计算出图1中可描线段的两端点坐标,则令直线y=0与虚拟圆环相交于A点和B点,该A点和B点是可描线段的两端点,此时A点、B点的坐标分别为(r,0)和(R,0);
步骤四:根据圆的对称性,以及步骤三中的可描线段,依次计算出关于x轴对称的可描线段、和关于y轴对称的可描线段为(-r,0)和(-R,0)两点间的线段;
步骤五:根据步骤三和步骤四计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤六:对应不在坐标轴上的可描线段,重复步骤三的步骤,如图2所示,设定不在坐标轴上的可描线段在y轴上的直线高度y=h,与虚拟圆环相交于C点和D点,此时C点和D点间的线段便是可描线段,而C点和D点的坐标分别可表示为(|√(r*r-h*h)|,h)和(|√(R*R-h*h)|,h),坐标中符号√表示开根号,两竖线表示两竖线的值取正值,也就是取绝对值。
步骤七:根据圆的对称性,以及步骤六中的可描线段,计算出圆中各象限的不在坐标轴上的可描线段;
步骤八:根据步骤七计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤九:根据步骤六至步骤八,由于不同的可描线段的高度不一样,也就是y=h的h取值不一样,取值范围(0,R);当h的取值范围在(r,R)之间时,如图2中的虚线所示,其中C点的坐标为(0,h);如此计算出圆环在各象限内的坐标;
步骤十:根据步骤一至步骤九,根据计算出的可描线段在各象限内的坐标,通过构造函数以点为单位描线段,描画出一个用于喷墨头打印的圆环图形像素数据。
其中,步骤六中,采用C语言实现计算,输入参数为(x,y,R,d);如图3所示,x指定左上角的x坐标,以像素点为单位;y指定左上角的y坐标,以像素点为单位;R指定外圆半径,以像素点为单位;d指定圆环厚度,以像素点为单位;具体包括以下步骤:
根据x、y坐标及外圆半径计算出圆环的坐标原点,
origin_x=x+R,
origin_y=y+R;
b、确定圆环的内外半径,
设定R=R,r=R-d;
c、在圆的第一象限,for(i=0;i<=R;i++)循环取值直线y=h的高度,计算可描线段的两点坐标,
两点坐标可表示为(pointAx,i)和(pointBx,i);
d、根据步骤c计算出的两点间坐标,以及圆的对称性,可计算出圆环在各象限的可描线段的坐标,分别可表示为象限一[(pointAx,i)(pointBx,i)]、象限二[(-pointAx,i)(-pointBx,i)]、象限三[(-pointAx,-i)(-pointBx,-i)]、象限四[(pointAx,-i)(pointBx,-i)];
然后,计算出可描线段的像素数据,在画布上以点为单位描线段,最终,对应的打印机控件生成喷墨头画圆环时对应的像素数据。
该实施例针对圆环厚度够厚或圆环对应的直径比较大时,采用描线画圆环方式,生成打印机喷墨头打印时所要实现沿直线方向绘制的可描线段,即生成画圆环时对应以点为单位描线段的像素数据,避免计算时在圆线的同一位置上有重复计算画点的现象,提高像素数据的生成时间,有效缩短响应打印指令的等待时间和提高用户使用体感,更能节省画圆的计算时间,有效解决内控软件中逐一画圆计算耗时而造成像素数据的生成时间长问题,使得打印指令下发后,打印机的打印动作可以快速响应,提高用户使用体感。
以上所述实施例只是为本发明的较佳实施例,并非以此限制本发明的实施范围,除了具体实施例中列举的情况外;凡依本发明之方法及原理所作的等效变化,均应涵盖于本发明的保护范围内。
Claims (1)
1.一种用于打印机上基于算法描线画圆环的方法,其特征是,包括以下步骤:
确定打印机喷墨头所要实现的功能操作,所述功能操作为在直线方向形成用于绘制的可描线段,对应打印机的控件生成画圆环时对应喷墨头打印的像素数据,具体为:
步骤一:根据待画圆位置和圆形自定义控件指定位置计算得到圆心的X轴坐标以及Y轴坐标;确定圆环的圆心,并以该圆心为原点做笛卡尔坐标系,其中y轴为竖轴,x轴为横轴;
步骤二:设定圆环对应的内虚拟圆和外虚拟圆的半径分别为r和R,内虚拟圆外围的外虚拟圆上形成一个虚拟圆环;
步骤三:设定虚拟圆环在x轴的正向形成的线段为可描线段,计算出可描线段的两端点坐标,则令直线y=0与虚拟圆环相交于A点和B点,该A点和B点是可描线段的两端点,此时A点、B点的坐标分别为(r,0)和(R,0);
步骤四:根据圆的对称性,以及步骤三中的可描线段,依次计算出关于x轴对称的可描线段、和关于y轴对称的可描线段为(-r,0)和(-R,0)两点间的线段;
步骤五:根据步骤三和步骤四计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤六:对应不在坐标轴上的可描线段,重复步骤三的步骤,设定不在坐标轴上的可描线段在y轴上的直线高度y=h,与虚拟圆环相交于C点和D点,此时C点和D点间的线段便是可描线段,而C点和D点的坐标分别可表示为(|√(r*r-h*h)|,h)和(|√(R*R-h*h)|,h),坐标中符号√表示开根号,两竖线表示两竖线的值取正值,也就是取绝对值;
步骤七:根据圆的对称性,以及步骤六中的可描线段,计算出圆中各象限的不在坐标轴上的可描线段;
步骤八:根据步骤七计算出的可描线段,计算出圆环在坐标轴上的可描线段的坐标;
步骤九:根据步骤六至步骤八,由于不同的可描线段的高度不一样,也就是y=h的h取值不一样,取值范围(0,R);当h的取值范围在(r,R)之间时,其中C点的坐标为(0,h),如此计算出圆环在各象限内的坐标;
步骤十:根据步骤一至步骤九中,计算出的可描线段在各象限内的坐标,通过构造函数以点为单位描线段,描画出一个用于喷墨头打印的圆环图形像素数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390542.3A CN111142816B (zh) | 2019-12-27 | 2019-12-27 | 一种用于打印机上基于算法描线画圆环的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911390542.3A CN111142816B (zh) | 2019-12-27 | 2019-12-27 | 一种用于打印机上基于算法描线画圆环的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142816A CN111142816A (zh) | 2020-05-12 |
CN111142816B true CN111142816B (zh) | 2023-03-03 |
Family
ID=70521630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911390542.3A Active CN111142816B (zh) | 2019-12-27 | 2019-12-27 | 一种用于打印机上基于算法描线画圆环的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142816B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593355A (zh) * | 2008-03-31 | 2009-12-02 | 兄弟工业株式会社 | 图像生成装置、图像生成方法及打印装置 |
CN107980121A (zh) * | 2017-03-20 | 2018-05-01 | 深圳大趋智能科技有限公司 | 圆形自定义控件执行动画的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4513888B2 (ja) * | 2008-03-31 | 2010-07-28 | ブラザー工業株式会社 | 画像生成装置および印刷装置 |
JP4513887B2 (ja) * | 2008-03-31 | 2010-07-28 | ブラザー工業株式会社 | 画像生成装置および印刷装置 |
JP6380159B2 (ja) * | 2015-02-23 | 2018-08-29 | セイコーエプソン株式会社 | 情報処理装置、情報処理装置の表示方法およびプログラム |
-
2019
- 2019-12-27 CN CN201911390542.3A patent/CN111142816B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101593355A (zh) * | 2008-03-31 | 2009-12-02 | 兄弟工业株式会社 | 图像生成装置、图像生成方法及打印装置 |
CN107980121A (zh) * | 2017-03-20 | 2018-05-01 | 深圳大趋智能科技有限公司 | 圆形自定义控件执行动画的方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于3D打印控制技术的柔性电子打印机出墨头设计;王杜等;《数字印刷》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111142816A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102542901B (zh) | 用于电子地图的线段抽稀装置及其方法 | |
CN111142816B (zh) | 一种用于打印机上基于算法描线画圆环的方法 | |
JPH09106272A (ja) | 文字パターン生成装置 | |
US20100283780A1 (en) | Information processing apparatus, information processing method, and storage medium | |
WO2022242369A1 (zh) | 一种喷涂图形生成方法、系统、电子设备及存储介质 | |
CN115783159A (zh) | 船舶动力减摇装置及减摇控制方法 | |
JP3576611B2 (ja) | 文字発生装置ならびに方法 | |
CN203381199U (zh) | 一种用于3d打印机的mk8双喷头 | |
CN1181556A (zh) | 字符发生方法及设备 | |
CN112232022B (zh) | 动态调整参数的汉字字形与布局设计方法和系统 | |
CN114741188A (zh) | 图形元素处理方法、装置、电子设备及存储介质 | |
CN112581608A (zh) | 一种装修效果3d模拟展示系统及其控制方法 | |
JP2580759B2 (ja) | データ変換方法 | |
JP2000081871A (ja) | 情報処理装置およびパターン生成プログラムを記録した記録媒体 | |
CN113242652B (zh) | 一种喷涂图形生成方法、系统、电子设备及存储介质 | |
CN101916316A (zh) | 标牌刻度值绘制方法 | |
CN116061563B (zh) | 一种喷墨打印方法、装置、设备及存储介质 | |
JPH0916787A (ja) | 図形塗り潰し用枠線の始点終点描画方法 | |
CN111476862B (zh) | 面向光纤图元的折线动态生成方法 | |
JP3070822B2 (ja) | 輪郭線データ変換装置 | |
JPH0289189A (ja) | キャラクタデータ処理装置 | |
JPH0627929A (ja) | アウトラインフォント座標変換方法 | |
CN111898082A (zh) | 一种基于方向模板的高精度快速点云生成算法 | |
CN115424494A (zh) | 船舶迎风截面及迎水截面及航行模拟方法 | |
CN118163938A (zh) | 基于小孔射流减弱大流量轨控喷流干扰的控制结构及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |