코드에 System.Drawing.Bitmap
이 있습니다.비트 맵 주변에 테두리를 그립니다.
너비가 고정되어 있으며 높이가 다릅니다.
내가 원하는 것은 비트 맵 주위에 약 20 픽셀의 흰색 경계선을 모든 4 가장자리에 추가하는 것입니다.
어떻게 작동합니까?
코드에 System.Drawing.Bitmap
이 있습니다.비트 맵 주변에 테두리를 그립니다.
너비가 고정되어 있으며 높이가 다릅니다.
내가 원하는 것은 비트 맵 주위에 약 20 픽셀의 흰색 경계선을 모든 4 가장자리에 추가하는 것입니다.
어떻게 작동합니까?
비트 맵 뒤에 사각형을 그릴 수 있습니다. 사각형의 너비는 (Bitmap.Width + BorderWidth * 2)이고 위치는 (Bitmap.Position - new Point (BorderWidth, BorderWidth))가됩니다. 아니면 적어도 그것이 내가가는 길입니다.
편집
: 비트 맵의 private void DrawBitmapWithBorder(Bitmap bmp, Point pos, Graphics g) {
const int borderSize = 20;
using (Brush border = new SolidBrush(Color.White /* Change it to whichever color you want. */)) {
g.FillRectangle(border, pos.X - borderSize, pos.Y - borderSize,
bmp.Width + borderSize, bmp.Height + borderSize);
}
g.DrawImage(bmp, pos);
}
+1. 그게 내가 할 수있는 방법이지만, OP는 답을 찾는데 약간의 코드가 필요할지도 모른다. – jp2code
'와 setPixel'방법 : 여기 은 (이미지를 그릴 전용 방법을 가지고 있다면)을 구현하는 방법을 설명하는 몇 가지 실제 소스 코드 클래스를 사용하여 색상이있는 픽셀을 설정합니다. 그러나 다음과 같이 더 편리 'Graphics' 클래스를 사용하는 것이다
bmp = new Bitmap(FileName);
//bmp = new Bitmap(bmp, new System.Drawing.Size(40, 40));
System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);
gr.DrawLine(new Pen(Brushes.White, 20), new Point(0, 0), new Point(0, 40));
gr.DrawLine(new Pen(Brushes.White, 20), new Point(0, 0), new Point(40, 0));
gr.DrawLine(new Pen(Brushes.White, 20), new Point(0, 40), new Point(40, 40));
gr.DrawLine(new Pen(Brushes.White, 20), new Point(40, 0), new Point(40, 40));
그러나이 방법은 비트 맵을 파괴하고 삽입 된 테두리에만 적용됩니다 (부여 할 것이지만 내 방법은 시작 테두리에만 적용됨). – antonijn
네, 맞습니다. 나는 비트 맵에 대해 생각하지 않았다. –
난 그래픽 비트 맵 (양쪽 20)의 폭과 높이를 픽셀 +40 +40 PX 객체를 만드는 방법에 대해 생각했다. 흰색 배경을 설정하고 중간에 비트 맵을 추가하지만 실제로 어떻게해야 할지를 알 수는 없습니다 ... – Karl
그리고 ... 그걸 시도해 보셨습니까? 아니면 최소한 뭔가를 코딩하기 시작 했나요? – LightStriker