1
문자열을 특정 직사각형 (세로 방향)으로 그려야합니다. 아래 코드는 나에게 와트를 제공하지만 텍스트 흐름은 왼쪽에서 오른쪽으로입니다 , 내가하려고하는 것은 오른쪽에서 왼쪽이다. 오른쪽의 라인 1과 마찬가지로 라인 2는 왼쪽에 있습니다. 나는 또한 변화를했지만 행운은 없다.System.Drawing.Printing 직사각형 가운데 정렬에서 문자열을 세로에서 왼쪽으로 세로로
RectangleF tabbor = new RectangleF(0, 0,borHeight, 44.35F);
StringFormat sf = new StringFormat();
//if (cmbDir.SelectedItem.Equals("Vertical"))
// sf.FormatFlags = StringFormatFlags.DirectionVertical;
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Center;
SolidBrush drawBrush = new SolidBrush(Color.Black);
//Do 180 degree Rotatation Transformation
ev.Graphics.RotateTransform(90, MatrixOrder.Append);
ev.Graphics.TranslateTransform(xPos+44.35F, yPos, MatrixOrder.Append);
ev.Graphics.DrawString("T", printFont, Brushes.Black, tabbor, sf);
if (cbPreview.Checked)
ev.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(tabbor));
나는 수행하여
찾아보기 주셔서 감사합니다. 그러나 코드에서 예상 한 것을 볼 수 있습니다. 연속적인 주기로 각 페이지마다 특정 위치 (X, Y)를 표시합니다. 왜냐하면 여기에 좌표가 음수로 표시되지 않기 때문에 코드 작성을 방해합니다. pls 좀 더 많은 정보를 알려주십시오. – Jay
FYI, TAB Dividers를 인쇄하려고합니다. 페이지 높이/아니오. 그 다음 직사각형을 그린 다음 직사각형의 중심에 문자열을 그립니다. 나는 엄격하게 포인트에 의존해야만한다. 네 논리에서 X, Y의 네거티브 좌표로 직사각형을 이동시키고 변형시키는 것을 볼 수있다. 직사각형 내부의 텍스트를 변형시켜야하는 rectnagle 좌표를 만지지 않고도 해결할 수 있습니다. – Jay
문자열 위치를 좌표 (0,0)로 설정 한 다음 회전합니다. 회전 (X + 직사각형 너비, Y)을 수행 한 후 편집 된 코드를 확인하십시오. –