VC 在桌面上绘制一些图形

注意:这是在桌面上绘制图形。如果想在VC++ MFC工程的视窗口上绘制图形。可以这么来,在工程View类的一个菜单响应(或者鼠标单击等事件的的响应)函数中添加下面main 中的代码,只需要将“红色字体”的改正为“hWnd”或者“this”.读者可以试一下。

#include<windows.h>
int main( void )
{
     HDC hdc = GetWindowDC(GetDesktopWindow());  // 获取一个可供画图的DC,我这里就直接用桌面算了

HPEN hpen1 = CreatePen( PS_SOLID, 1, RGB(255,0,0) ); // 创建红色1像素宽度的实线画笔
     //创建绿色5像素宽度的破折画笔,如果你想创建其他种类的画笔请参阅MSDN
     HPEN hpen2 = CreatePen( PS_DASH, 5, RGB(0,255,0) );
     HBRUSH hbrush1 = CreateSolidBrush( RGB(0,0,255) );     // 创建一个实体蓝色画刷

HBRUSH hbrush2 = (HBRUSH)GetStockObject( NULL_BRUSH );// 创造一个透明的画刷

// 将hpen1和hbrush1选进HDC,并保存HDC原来的画笔和画刷
     HPEN hpen_old = (HPEN)SelectObject( hdc, hpen1 );
     HBRUSH hbrush_old = (HBRUSH)SelectObject( hdc, hbrush1 );

Rectangle( hdc, 40, 30, 40+200, 30+50 );// 在(40,30)处画一个宽200像素,高50像素的矩形
     SelectObject( hdc, hpen2 );  // 换hpen1和hbrush1,然后在(40,100)处也画一个矩形,看看有何差别
     SelectObject( hdc, hbrush2 );
     Rectangle( hdc, 40, 100, 40+200, 100+50 );

Ellipse( hdc, 40, 200, 40+200, 200+50 );// 画个椭圆看看
     MoveToEx( hdc, 0, 600, NULL );// 画个(0,600)到(800,0)的直线看看
     LineTo( hdc, 800, 0 );
     SetPixel( hdc, 700, 500, RGB(255,255,0) );// 在(700,500)处画个黄点,不过这个点只有一像素大小,你细细的看才能找到

// 恢复原来的画笔和画刷
     SelectObject( hdc, hpen_old ); 
     SelectObject( hdc, hbrush_old );

return 0;
}

搬家于 CSDN 2015-05-14

原文地址:https://www.cnblogs.com/arxive/p/11748166.html

时间: 2024-11-08 18:20:21

VC 在桌面上绘制一些图形的相关文章

C#在pictureBox上绘制直线

1.在pictureBox上添加鼠标响应事件: this.pictureBox1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseDown); this.pictureBox1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pictureBox1_MouseMove); 2.添加Bitmap作为画布,用于保存图形(

史上最强大的40多个纯CSS绘制的图形

今天在国外的网站上看到了很多看似简单却又非常强大的纯 CSS 绘制的图形,里面有最简单的矩形.圆形和三角形,也有各种常见的多边形,甚至是阴阳太极和网站小图标,真的非常强大,分享给大家. Square (正方形) #square { width: 100px; height: 100px; background: red; } Rectangle (矩形) #rectangle { width: 200px; height: 100px; background: red; } Circle (圆形

canvas 元素用于在网页上绘制图形。

什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的方法. 创建 Canvas 元素 向 HTML5 页面添加 canvas 元素. 规定元素的 id.宽度和高度: <canvas id="myCanvas" width="200" height="100"></canv

在图片上绘制图形和添加文字

使用opencv读取图片,在图片上绘制线条.矩形.圆.多边形和添加文字 1.画线 #!/usr/bin/python3 # -*- coding:utf-8 -*- import cv2 import numpy as np # 读取一张图片 img = cv2.imread('img.jpg',cv2.IMREAD_COLOR) #画线 , 目标,起始坐标,终点坐标,颜色,线宽 cv2.line(img,(10,10),(200,100),(255,255,255),5) #画矩形 , 目标,

如何在Linux的桌面上创建快捷方式或启动器

如果在Linux桌面系统中你经常使用一个程序,你可能想去创建一个“桌面快捷方式”,以便于你在桌面只要点击一下快捷方式就可以启动它.虽然不少带有图形界面的程序会在安装时自动在桌面上创建快捷方式,还有一些图形界面程序或者命令行程序可能需要你手动创建快捷方式. 在这个教程里,我将告诉你如何在不同的Linux桌面上添加桌面快捷方式.(译注:其实除了作者所述的这些方法外,各种桌面上也还有更简便的方法,大家可以评论分享自己的经验) 一个桌面快捷方式是由内含该APP元信息(例如,app的名字,启动命令或者图标

利用HTML5技术在Web上实现对图形图像的处理——WebPhotoshop精简版

WebPhotoshop精简版是利用HTML5技术在Web上实现对图形图像的处理,构建易维护.易共享.易于拓展.实时性的Web图形图像处理平台. 精简版功能包括:图形绘制.图像处理.图像操作.完整版包括多人协作操作图像.实时交流.图片搜索,同时实现实时的多人协作处理图形图像技术.(完整版后续上传)一.功能说明:1.图形绘制 实现铅笔.画笔(书法画笔.喷枪.蜡笔.记号笔.水彩画笔)的绘制效果.实现直线.曲线.椭圆(圆).矩形(圆角矩形).三角形(直角三角形.等边三角形.任意三角形).多边形的绘制.

css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数

本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录的问题吧.一,css画特殊图形. 在网页中,需要一些特殊图形时.比如半圆形,三角形等,我们一般是让ui切图,但是实际上,利用css的边框 (border)属性,我们可以绘制一些有规律的图形. 盒模型中元素有四个角,那么每个角就存在一个弧度的属性. 先看代码: 1 .half_circle{ 2 wi

使用gd2绘制基本图形

应用GD2函数可以绘制的图形有多种,最基本的图形包括条.圆.方形等.无论开发人员绘制多么复杂的图形,都是在这些最基本的图形的基础上进行深化的,只有掌握了最基本的图形的绘制方法,才能绘制出各种具有独特风格的图形. 在GD2中可以分别应用imageline()函数.imagearc()函数和imagerectangle()函数绘制直线,圆形和方法. 下面将介绍这些函数的使用方法: bool imageline( resource image, int x1, int y1, int x2, int

iOS:quartz2D绘图(在PDF文件上绘制图片)

quartz2D还可以在PDF文件上绘制图片,它有自己的PDF Graphics Context上下文,通过UIGraphicsBeginPDFContextToFile方法开始上下文后就可以绘制图片了,最后记得使用UIGraphicsEndPDFContext()方法结束上下文.绘制pdf时,既可以绘制单页pdf,也可以绘制多页pdf成一本书,在绘制开始时,使用UIGraphicsBeginPDFPage()开始新的一页这是非常重要的.下面演示绘制单页pdf和多页的pdf. 具体的实例如下: