سلام
من یک پروژه دارم می نویسم انشاا... آخرهای پروژه است و در قسمتی از این پروژه می خوام از طریق یک چاپگر یک کارت عضویت چاپ کنم مشکلی با چاپ به زبان انگلیسی ندارم اما وقتی به زبان فارسی (که از راست به چپ است) می خوام کارت عضویت رو چاپ کنم نوشته ها به شکر زیر دیده می شوند:
https://docs.microsoft.com/en-us/answers/storage/attachments/126063-reverse-image.png
اما به وسیله یک برنامه ای مانند فوتوشاپ و یا برنامه ای که قابلیت چرخش افقی تصویر رو داره میشه این مشکل رو برطرف کرد و تصویر درست میشه مانند تصویر زیر:
https://docs.microsoft.com/en-us/answers/storage/attachments/126017-true-image.png
اما من می خوام این کار رو در سی شارپ انجام بدم یک الگوریتم یا روش انجام کار هم به ذهنم خورده شاید کمک کنه بهتون (چون متدی برای چرخش افقی پیدا نکردم) اونم اینکه اگر بتونیم X1,X2 و نیز Y1,Y2 قسمتی که می خواهیم چاپ بشه ، رو جابجا کنیم به نظرم این مشکل رفع میشه فقط دقت کنید این برنامه در WPF است نه Windows form.
این هم کدهای برنامه:
قسمت WPF:
<GroupBox x:Name="PrintPreview_GroupBox" Header="Preview" Height="223" Width="400" Background="Transparent" HorizontalAlignment="Left" Visibility="Visible" Margin="14,228,0,14">
</GroupBox>
قسمت سی شارپ:
private void PrintButton_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
PrintDialog PD = new PrintDialog();
var Printer = new LocalPrintServer().GetPrintQueues();
var SelectedPrinter = Printer.FirstOrDefault(P => P.Name == "Software602 Print2PDF");
PD.PrintQueue = SelectedPrinter;
var Size = new Size(PD.PrintableAreaHeight, PD.PrintableAreaWidth);
PrintPreview_GroupBox.Measure(Size);
PrintPreview_GroupBox.Arrange(new Rect(new Point(0, 0), Size));
PD.PrintVisual(PrintPreview_GroupBox, "Print");
}
چند قسمت دیگه هم مشکل دارم که اگر کسی بتونه پاسخ درست بده مبلغی هم باهاشون توافق می کنم (چون احتمال میدم زمان زیادی ببره که خودم بتونم مشکلات رو رفع کنم دارم مشورت میگیرم چون این پروژه رو هرچه زودتر باید تحویل بدم)
با تشکر