用 GDI+ 绘制矩形与绘制直线类似。若要绘制矩形,需要 Graphics 对象和 Pen 对象。Graphics 对象提供 DrawRectangle 方法,Pen 对象存储属性(例如线宽和颜色)。将 Pen 对象作为参数之一传递给 DrawRectangle 方法。下面的示例绘制了一个矩形,其左上角位于 (100, 50),宽度为 80,高度为 40:
myGraphicsDrawRectangle(myPen, 100, 50, 80, 40);
DrawRectangle 是 Graphics 类的一个重载方法,因此,有数种为其提供参数的方式。例如,可构造 Rectangle 对象并将 Rectangle 对象作为参数传递给 DrawRectangle 方法:
Rectangle myRectangle = new Rectangle(100, 50, 80, 40);
myGraphicsDrawRectangle(myPen, myRectangle);
Rectangle 对象具有用于处理和收集矩形相关信息的方法和属性。例如,Inflate 和 Offset 方法可更改矩形的大小和位置。IntersectsWith 方法判断矩形是否与另一给定矩形相交,Contains 方法判断一个给定点是否在该矩形内。
看你是在什么平台下面了。
如果是在Windows平台的话,可以使用GDI,如果是linux或者跨平台的话,推荐使用SDL。前者的话可以去微软的msdn官网msdnmicrosoftcom查看相关资料或者直接安装MSDN本地包,后者的话可以去SDL官网看看:>
// 矩形
public class RectangleDemo {
public static void main(String[] args) {
RectangleDemo demo = new RectangleDemo(12, 32);
Systemoutprintln(demogetPerimeter());
Systemoutprintln(demogetArea());
demo = new RectangleDemo();
Systemoutprintln(demogetArea());
Systemoutprintln(demogetPerimeter());
demosetHeight(50);
demosetWidth(30);
Systemoutprintln(demogetArea());
Systemoutprintln(demogetPerimeter());
}
// 求周
public double getPerimeter() {
return (height + width) 2;
}
// 求面积
public double getArea() {
return height width;
}
public RectangleDemo(double height, double width) {
thisheight = height;
thiswidth = width;
}
public RectangleDemo() {
thisheight = 10;
thiswidth = 10;
}
private double height;// 高度
private double width;// 宽度
public double getHeight() {
return height;
}
public void setHeight(double height) {
thisheight = height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
thiswidth = width;
}
}
编写矩形类RectangleJava程序矩形类两数据员别rLength宽rWidth通getLength()、getWidth()、getArea()别查看矩形、宽面积通setLength()setWidth()重新设置矩形宽
C#:(打印 长为:n字符,宽为:m行 的矩形):
int n = 5;
int m = 6;
for (int i = 0; i < n; i++)
{
ConsoleWrite("");
}
ConsoleWriteLine("");
for (int i = 1; i < m - 1; i++)
{
ConsoleWrite("");
for (int j = 1; j < n - 1; j++)
{
ConsoleWrite(" ");
}
ConsoleWriteLine("");
}
for (int i = 0; i < n; i++)
{
ConsoleWrite("");
}
ConsoleReadLine();
改成这样就行了
#include <stdioh>
#include <stdlibh>
int main(void)
{
int x = 0; /长度/
int y = 0; /宽度/
int i = 1;
int j = 1;
on:
printf("x=");
scanf("%d", &x);
printf("y=");
scanf("%d", &y);
if(x < 2 || y < 0)
{
printf("Please enter a right number");
goto on;
}
for( ; i <= x ; i++)
printf(""); /先输出顶端的一条边/
x -= 2; /用来输出空格/
for( ; j <= y - 2 ; j++) /宽度/
{
printf("\n"); /先输出一个星号,后面输出空格/
for( i = 1; i <= x ; i++)
printf(" "); /这个空格木有输出,问题出在哪里?/
printf(""); /输出完空格后要输出一个星号/
}
printf("\n");
x += 2;
for( i = 1; i <= x ; i++)
printf(""); /先输出顶端的一条边/
system("pause");
return 0;
}
按照你的要求编写的矩形类的C++程序如下
#include<iostream>using namespace std;
class Rectangle{
private:
float length;
float width;
public:
Rectangle(float len,float wid);
float area();
};
Rectangle::Rectangle(float len,float wid){
length=len;
width=wid;
}
float Rectangle::area(){
return lengthwidth;
}
int main(){
float length,width;
cout<<"请输入矩形的长度和宽度:"<<endl;
cin>>length>>width;
Rectangle rect(length,width);
cout<<"矩形的长度是"<<length<<endl;
cout<<"矩形的宽度是"<<width<<endl;
cout<<"矩形的面积是"<<rectarea()<<endl;
return 0;
}
#include <mathh>
#include <stdioh>
#include <conioh>
#include <stdlibh>
#include <graphicsh>
void polygon(int n, int x, int y, int r, int color, float arg, int fillstyle);
int main()
{
int GraphDriver;
int GraphMode;
float arg = 45, argd;
int a;
int direction;
int r;
int n = 4;
FILE fp;
char szfilename[255] = {"c:\\cubetxt"};
GraphDriver = DETECT;
printf("Input size of cube: ");
scanf("%d", &r);
printf("Input direction(0-1): ");
scanf("%d", &direction);
if (direction == 0)
{
argd = 45;
}
else
{
argd = -45;
}
initgraph(&GraphDriver, &GraphMode, "");
polygon(n, 300, 200, r, 12, arg, 0);
while(1)
{
while(kbhit())
{
a = getch();
if (a == 27)
{
if ((fp = fopen(szfilename, "wt")) != NULL)
{
fprintf(fp, "%d\n%d\n", r, direction);
fclose(fp);
}
closegraph();
return 0;
}
if (a == 0)
{
getch();
polygon(n, 300, 200, r, 0, arg, 0);
arg += argd;
polygon(n, 300, 200, r, 12, arg, 0);
}
else
{
polygon(n, 300, 200, r, 0, arg, 0);
arg += argd;
polygon(n, 300, 200, r, 12, arg, 0);
}
}
}
}
void polygon(int n, int x, int y, int r, int color, float arg, int fillstyle)
{
double pi;
int i;
float x1[10], y1[10];
setcolor(color);
pi = atan(1) 4;
arg = atan(1) / 45 arg;
x1[1] = x + r cos(2 pi / n + arg);
y1[1] = y + r sin(2 pi / n + arg);
moveto(x1[1], y1[1]);
for (i = 2; i <= n; i++)
{
x1[i] = x + r cos(2 pi i / n + arg);
y1[i] = y + r sin(2 pi i / n + arg);
lineto(x1[i], y1[i]);
}
lineto(x1[1], y1[1]);
if (fillstyle != 0)
{
setfillstyle(SOLID_FILL, color);
floodfill(x, y, color);
}
}
L = bwlabel(binary): %binary = 你贴出来的这个图
rect = zeros(size(binary));
rect(L==3) = 1; %图中矩形是第三块区域。
rect = repmat(rect,[1,1,3]);
rect(rect==1) = I(rect==1); % I = RGB图
以上就是关于用C#在窗体上绘制一个矩形,颜色线宽不要求了,要完整的程序代码。全部的内容,包括:用C#在窗体上绘制一个矩形,颜色线宽不要求了,要完整的程序代码。、在c++中怎样画图像(矩形)、编写一个JAVA程序,描写一个矩形类,并输出某个矩形的长,宽,面积。具体描述如下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)