많은 그림을 그림 상자에 표시되는 비트 맵에 맞추려고합니다. 내 실제 코드에서는 모든 것을 포함 할 수있는 사각형의 전체 너비와 높이를 계산 한 다음이를 비트 맵 크기로 나눠서 내 배율 인수를 얻습니다. 문제는 스케일링을 수행하는 방법을 알아낼 수 없다는 것입니다. 아래 코드는 내가해야 할 일의 간단한 버전입니다.전체 그래픽 구조를 축소 (스케일)하는 방법은 무엇입니까?
필자는 picturebox의 스케일링 능력 (스트레치)에 의존 할 수 없다는 것을 명심하십시오. 그리고 실제 코드에서는 모든 스케일의 너비와 높이에 단순히 스케일을 적용하고 싶지 않습니다. 아주 잘 작동합니다. 그래픽에서 축소하는 방법이 필요합니다. 비트 맵은 동일한 크기 (300 X 300)로 유지하는 것이 중요합니다. 감사. 아래의 코드는 지금까지 얻었지만 크기는 변하지 않습니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApplication22
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Bitmap BM = new System.Drawing.Bitmap(300, 300);
Pen PenTest = new System.Drawing.Pen(Brushes.Red);
private void Form1_Load(object sender, EventArgs e)
{
using (Graphics GR = Graphics.FromImage(BM))
{
GR.DrawRectangle(PenTest, new Rectangle(0,0,500,500));
// I need a scale of 0.60 in this example, because 300/500 = .6
GR.ScaleTransform(.6F, .6F);//Doesn't Work. No Change at all in the size of the rectangle.
}
pictureBox1.Image = BM;
}
}
}
가 먼저 변환 설정하려고 있나요? –