GDI + 기초 (1)
15772 단어 기초
System. drawing 네 임 스페이스 는 GDI + 기본 그래 픽 기능 에 대한 접근 System. drawing. drawing2D 네 임 스페이스 에 고급 2 차원 과 벡터 그래 픽 기능 을 제공 합 니 다.이 네 임 스페이스 는 경사도 형 브러시, Matrix 클래스 (기하학 적 변환 을 정의 하 는 데 사용), GraphicsPath 클래스 System. Drawing. Imaging 네 임 스페이스 를 포함 하여 고급 GDI + 이미지 처리 기능 System. Drawing. Text 네 임 스페이스 는 고급 GDI + 레이아웃 기능 을 제공 합 니 다.
Bitmap 클래스 는 GDI + 비트 맵 을 패키지 합 니 다. 이 비트 맵 은 그래 픽 이미지 와 그 속성의 픽 셀 데이터 로 구 성 됩 니 다.Bitmap 대상 은 픽 셀 데이터 로 정 의 된 그림 을 처리 하 는 대상 입 니 다.
1. 속성: Height 이 이미지 대상 의 높이 가 져 오기 PixelFormat 이 이미지 대상 의 픽 셀 형식 가 져 오기 Size 이 그림 의 픽 셀 단위 너비 와 높이 가 져 오기 Width 이 이미지 대상 의 너비 가 져 오기 2. 방법 Dispose 이 Image 대상 에서 사용 하 는 모든 자원 을 방출 합 니 다 Save 이 그림 을 지정 한 형식 으로 지정 한 흐름 에 저장 합 니 다 SetPixel 설정 Bitmap 대상 에서 지정 한 픽 셀 색상 예시
<%@ Page ContentType="image/gif" Language="C#" %>
<!--ContentType -->
<%@ Import namespace="System.Drawing" %>
<%@ Import namespace="System.Drawing.Imaging" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(400, 200);
// 400, 200
Random pixel = new Random();
//
for(int i=0;i<1000;i++) {
bmp.SetPixel(pixel.Next(400), pixel.Next(200), Color.Red);
// Bitmap , x,y,color
}
bmp.Save(Response.OutputStream, ImageFormat.Gif);//ImageFormat ,
// , Gif
}
</script>
Graphics 류 는 GDI + 도면 을 봉인 하 는 것 을 나타 낸다. 예 를 들 어 직사각형, 원형 등 더욱 복잡 한 도형 을 그린다.
상용 속성 및 방법: 속성 설명 Clip 에서 Region 대상 을 가 져 오 거나 설정 합 니 다. 이 그래 픽 대상 의 그림 영역 을 제한 합 니 다. ClipBounds 는 RectangleF 구 조 를 가 져 옵 니 다. 이 구 조 는 이 Graphics 대상 의 편집 영역 을 제한 합 니 다. DpiX 는 이 Graphics 대상 의 수평 해상 도 를 가 져 옵 니 다. DpiY 는 이 Graphics 대상 의 수직 해상 도 를 가 져 옵 니 다. PageScale 이 Graphics 대상 의 전역 단위 와 페이지 단위 간 의 비율 을 가 져 오 거나 설정 합 니 다. PageUnit 은 이 Graphics 대상 의 페이지 좌표 에 사용 할 도량 단 위 를 가 져 오 거나 설정 합 니 다. PixelOffsetMode 에서 값 을 가 져 오 거나 설정 합 니 다. 이 값 은 이 Graphics 대상 을 보 여 주 는 과정 에서 픽 셀 이 어떻게 이동 하 는 지 지정 합 니 다. RenderingOrigin 은 색 처리 와 음영 붓 으로 이 Graphics 대상 의 원점 을 가 져 오 거나 설정 합 니 다. SmoothingMode 에서 이 Graphics 대상 의 품질 을 가 져 오 거나 설정 합 니 다. TextRenderingHint 는 이 Graphics 대상 과 연 결 된 텍스트 의 표현 모드 를 가 져 오 거나 설정 합 니 다. Transform 에서 이 Graphics 대상 의 전역 변환 을 가 져 오 거나 설정 합 니 다. VisibleClipBounds 는 이 Graphics 대상 의 보 이 는 편집 영역의 테 두 리 를 가 져 오 거나 설정 합 니 다. 방법 설명 Clear 전체 그림 면 을 지우 고 지정 한 배경 색 으로 채 웁 니 다. dispose 는 이 Graphics 대상 이 사용 하 는 모든 자원 을 방출 합 니 다. DrawArc 는 좌표, 너비, 높이 가 지정 한 타원 부분 을 나타 내 는 포물선 을 그립 니 다. DrawEllipe 는 테두리 로 정 의 된 타원 을 그립 니 다. DrawIcon 은 지정 한 좌표 에 지정 한 Icon 대상 이 표시 하 는 그림 을 그립 니 다. DrawIconUnstretched 는 그림 의 크기 를 조정 하지 않 고 지정 한 Icon 대상 이 표시 하 는 그림 을 그립 니 다. DrawImage 는 지정 한 위치 에 있 고 원본 크기 에 따라 지정 한 Image 대상 을 그립 니 다. DrawImageUnscaled 는 좌표 가 지정 한 위 치 를 지정 하고 원본 크기 에 따라 지정 한 Image 대상 을 그립 니 다. DrawLine 은 좌표 가 지정 한 두 점 을 연결 하 는 선 을 그립 니 다. Draw Lines 는 Point 구 조 를 연결 하 는 일련의 라인 을 그립 니 다. Drawpie 는 부채 형 을 그립 니 다. 이 부채 형 은 좌표 대, 너비 와 높이, 그리고 두 개의 방사선 이 지정 한 타원 으로 정 의 됩 니 다. Draw Polygon 은 Point 구조 로 정 의 된 다각형 을 그립 니 다. DrawRectangle 은 좌표 대, 너비, 높이 가 지정 한 사각형 을 그립 니 다. DrawRectangles 는 Rectangle 구조 가 지정 한 일련의 사각형 을 그립 니 다. DrawString 은 지정 한 위치 에 지정 한 Brush 와 Font 대상 으로 지정 한 텍스트 문자열 을 그립 니 다. FillClosed Curve 는 Point 구조 배열 이 정의 하 는 닫 힌 기수 곡선 내 부 를 채 웁 니 다. FillEllipe 는 테두리 가 정의 하 는 타원 의 내 부 를 채 웁 니 다. 이 테 두 리 는 한 쌍 의 좌표, 너비, 높이 로 지 정 됩 니 다. FillPie 는 한 쌍 의 좌표, 한 폭, 한 높이 와 두 개의 방사선 이 지정 한 타원 이 정의 하 는 부채 형 구역 의 내 부 를 채 웁 니 다. FillPolygon Point 구조 가 지정 한 포인트 그룹 이 정의 하 는 다각형 의 내 부 를 채 웁 니 다. FillRectangle 은 한 쌍 의 좌표, 너비, 높이 가 지정 한 사각형 의 내 부 를 채 웁 니 다. FillRectangles 는 Rectangle 구조 가 지정 한 일련의 사각형 의 내 부 를 채 웁 니 다. FillRegion 은 Region 대상 의 내 부 를 채 웁 니 다. Flush 는 걸 려 있 는 모든 그래 픽 작업 을 강제 하고 작업 이 완료 되 기 를 기다 리 지 않 고 즉시 되 돌려 줍 니 다. FromHdc 는 장치 컨 텍스트 의 지정 한 핸들 에서 새로운 Graphics 대상 을 만 듭 니 다. FromHwnd 는 창의 지정 한 핸들 에서 새로운 Graphics 대상 을 만 듭 니 다. FromImage 는 지정 한 Image 대상 에서 새 Graphics 대상 을 만 듭 니 다. GetHdc 는 이 Graphics 대상 과 연 결 된 장치 컨 텍스트 의 핸들 을 가 져 옵 니 다. ReleaseHdc 는 이전에 이 Graphics 대상 GetHdc 방법 을 호출 하여 얻 은 장치 컨 텍스트 핸들 을 방출 합 니 다. ResetClip 은 이 Graphics 대상 의 편집 영역 을 무한 영역 으로 초기 화 합 니 다. ResetTransform 은 이 Graphics 대상 의 전역 변환 행렬 을 단위 행렬 로 초기 화 합 니 다. 직사각형 DrawRectangle 을 그 려 서 좌표 대, 너비, 높이 가 지정 한 사각형 Public void DrawRectangle (Pen, int, int, int, int) 을 그립 니 다.좌표 대, 너비, 높이 로 지정 한 사각형 그리 기
<%@ Page ContentType="image/gif" Language="C#" %>
<!--ContentType -->
<%@ Import namespace="System.Drawing" %>
<%@ Import namespace="System.Drawing.Imaging" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(500, 400);
// 400, 200
Graphics gph;
// Image Graphics
gph = Graphics.FromImage(bmp);
//
gph.Clear(Color.Olive);
// 、
gph.DrawRectangle(Pens.Red, 100, 100, 50, 50);
// , 、
gph.FillRectangle(Brushes.Green, 200, 200, 50, 50);
bmp.Save(Response.OutputStream, ImageFormat.Gif);//ImageFormat ,
// , Gif
}
</script>
색상 사용
색상 구 조 는 ARGB 색상 이 a, R, G, BColor mycolor 를 포함 함 을 나타 낸다.mycolor = Color.FromName("blue");//FromName 방법 색상 문자열 을 GDI + 색상 mycolor = Color. FromArgb (255, 0, 0); / /FromArgb 방법 설정 RGB 값 mycolor = Color. FromArgb (100, 255, 0, 0); //FromArgb 방법 설정 a, RGB 값 은 ColorTranslator 클래스 로 HTML 색상 과 GDI + 색상 사이 에서 my color = ColorTranslator. FromHtml ("\ # 00FF 00");그림 브러시 류 를 사용 하여 도형 모양 (예 를 들 어 사각형, 타원형, 부채 형, 다각형 과 폐쇄 경로) 내부 의 대상 System. drawing. drawing2D. HatchBrush 는 그림자 스타일 로,전경 색 과 배경 색 정의 직사각형 화필 System. Drawing. Drawing2D. Linear GradientBrush 는 선형 그 라 데 이 션 으로 Brush 대상 System. Drawing. drawing2D. PathGradientBrush 를 밀봉 하여 Brush 대상 을 밀봉 합 니 다.GraphicsPath 대상 의 내부 System. Drawing. SolidBrush 를 그 라 데 이 션 으로 채 웁 니 다. System. Drawing. TextureBrush 는 그림 으로 모양 의 내부 PathGradientBrush 를 LinearGradientBrush 와 유사 하 게 채 웁 니 다. 하지만 더욱 강력 합 니 다. 더 이상 소개 하지 않 습 니 다. 다음 예제
<%@ Page ContentType="image/gif" Language="C#" %>
<!--ContentType -->
<%@ Import namespace="System.Drawing" %>
<%@ Import namespace="System.Drawing.Imaging" %>
<%@ Import namespace="System.Drawing.Drawing2D" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Bitmap bmp = new Bitmap(600, 120);
// 400, 200
Bitmap img=new Bitmap(Server.MapPath("001.jpg"));
Color mycolor;
mycolor = Color.FromArgb(0, 0, 255);
//FromArgb RGB
Rectangle rect=new Rectangle(300,0,100,100);
SolidBrush solid = new SolidBrush(mycolor);
//
HatchBrush hatch = new HatchBrush(HatchStyle.Cross, Color.Orange);
// , HatchStyle
LinearGradientBrush linear;
linear = new LinearGradientBrush(rect, Color.Red, Color.Yellow, LinearGradientMode.ForwardDiagonal);
// , (Rectangle, Color, Color, LinearGradientMode)
// , , , ;
//BackwardDiagonal 。
//ForwardDiagonal 。
//Horizontal 。
//Vertical 。
TextureBrush texture = new TextureBrush(img);
//
Graphics gph;
// Image Graphics
gph = Graphics.FromImage(bmp);
//
gph.Clear(Color.Red);
// 、
// 、
gph.FillRectangle(Brushes.Green, 0, 0, 100, 100);
gph.FillRectangle(solid, 100, 0, 100, 100);
gph.FillRectangle(hatch, 200, 0, 100, 100);
gph.FillRectangle(linear, rect);
gph.FillRectangle(texture, 400, 0, 100, 100);
bmp.Save(Response.OutputStream, ImageFormat.Gif);//ImageFormat ,
// , Gif
}
</script>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
고층 함수고층 함수란 함수를 인수, 반환값으로서 취급하는 함수 … 잘 모르기 때문에, 우선 해 보았습니다! (↑가독성의 관점에서 별로 추천하지 않는다) 해봤어 인수를 하나씩 넣는 쓰는 법 해봤어 기초를 공부 중이므로 기본으로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.