Я сделал приложение, которое генерирует мне QR-код в PNG-изображении и распечатывает текст с QR-изображения, но теперь мне нужно повернуть этот текст на 90 градусов, и я могу 't найти способ сделать это ... Я думаю, что прямоугольник должен быть повернут, потому что текст находится внутри этого прямоугольника.Как повернуть текст в прямоугольной форме C#
Пример:
Код:
namespace QR_Code_with_WFA
{
public void CreateQRImage(string inputData)
{
if (inputData.Trim() == String.Empty)
{
System.Windows.Forms.MessageBox.Show("Data must not be empty.");
}
BarcodeWriter qrcoder = new ZXing.BarcodeWriter
{
Format = BarcodeFormat.QR_CODE,
Options = new ZXing.QrCode.QrCodeEncodingOptions
{
ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H,
Height = 250,
Width = 250
}
};
string tempFileName = System.IO.Path.GetTempPath() + inputData + ".png";
Image image;
String data = inputData;
var result = qrcoder.Write(inputData);
image = new Bitmap(result);
image.Save(tempFileName);
System.Diagnostics.Process.Start(tempFileName);
var result2 = qrcoder.Write(inputData);
int textWidth = 200, textHeight = 20;
// creating new bitmap having imcreased width
var img = new Bitmap(result2.Width + textWidth, result2.Height);
using (var g = Graphics.FromImage(img))
using (var font = new Font(FontFamily.GenericMonospace, 12))
using (var brush = new SolidBrush(Color.Black))
using (var bgBrush = new SolidBrush(Color.White))
using (var format = new StringFormat() { Alignment = StringAlignment.Near })
{
// filling background with white color
g.FillRectangle(bgBrush, 0, 0, img.Width, img.Height);
// drawing your generated image over new one
g.DrawImage(result, new Point(0,0));
// drawing text
g.DrawString(inputData, font, brush, result2.Width, (result2.Height - textHeight)/2, format);
}
img.Save(tempFileName);
}
}
Если я использую этот текст исчезнет – Valip
Это потому, что вы также должны использовать 'Graphics.TranslateTransform', в противном случае вы вращаясь вокруг [0 , 0], и поэтому ваш текст больше не отображается. Обновлен мой ответ. –
Большое спасибо! – Valip