コード例 #1
0
 public wybórInfoPDF(Jądro J, Widoki.widok_matryca W, Rysowanie rys)
 {
     InitializeComponent();
     this.J   = J;
     this.W   = W;
     this.rys = rys;
 }
コード例 #2
0
 public void Rysuj(object o, Rozmieszczenia R_, int liczbamatryc = 0)
 {
     R = R_;
     W = (Widoki.widok_matryca)o;
     if (liczbamatryc == 0)
     {
         liczba_matryc = R.Liczba_wykorzystanych_matryc - 1;
     }
     else
     {
         liczba_matryc = liczbamatryc;
     }
     Rysuj();
 }
コード例 #3
0
        public static void Wszystkie(Widoki.widok_matryca W, Rysowanie rys, bool YN = false)
        {
            Canvas canvas = W.canvas;

            Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
            dlg.FileName   = "matryca";               // Default file name
            dlg.DefaultExt = ".png";                  // Default file extension
            dlg.Filter     = "Plik png (.png)|*.png"; // Filter files by extension

            // Show save file dialog box
            if (YN == false)
            {
                Nullable <bool> result = dlg.ShowDialog();

                if (result == true)
                {
                    string filename = dlg.FileName;
                }
                for (int i = 0; i <= rys.liczba_matryc; i++)
                {
                    rys.Rysuj(i);

                    Char     delimiter  = '.';
                    String[] substrings = dlg.FileName.Split(delimiter);
                    String   nazwa      = substrings[0] + i + "." + substrings[1];

                    _stworz(canvas, nazwa);
                }
            }
            else
            {
                dlg.FileName = System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca";
                for (int i = 0; i <= rys.liczba_matryc; i++)
                {
                    rys.Rysuj(i);


                    String nazwa = dlg.FileName + i + ".png";

                    _stworz(canvas, nazwa, false);
                }
            }
        }
コード例 #4
0
        public static void Jedna(Widoki.widok_matryca W)
        {
            Canvas canvas = W.canvas;


            Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
            dlg.FileName   = "matryca";               // Default file name
            dlg.DefaultExt = ".png";                  // Default file extension
            dlg.Filter     = "Plik png (.png)|*.png"; // Filter files by extension

            // Show save file dialog box
            Nullable <bool> result = dlg.ShowDialog();

            if (result == true)
            {
                string filename = dlg.FileName;
            }

            _stworz(canvas, dlg.FileName);
        }
コード例 #5
0
 public Rysowanie(Widoki.widok_matryca w)
 {
     W = w;
 }
コード例 #6
0
        public static void PDF(Jądro J, Widoki.widok_matryca W, Rysowanie rys, List <string> listawybranychinformacji)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();

            saveFileDialog.Filter = "PDF file (*.pdf)|*.pdf";
            //  try
            // {
            if (saveFileDialog.ShowDialog() == true)
            {
                string        path = System.AppDomain.CurrentDomain.BaseDirectory + "tmp";
                DirectoryInfo di   = Directory.CreateDirectory(path);

                iTextSharp.text.Document      doc = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4);
                iTextSharp.text.pdf.PdfWriter wri = iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(saveFileDialog.FileName, FileMode.Create));
                doc.Open();



                if (listawybranychinformacji[0] == "Cztery na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(2);
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }


                    float[] widths = new float[] { iTextSharp.text.PageSize.A4.Width - doc.LeftMargin, iTextSharp.text.PageSize.A4.Width - doc.RightMargin };

                    table.SetWidths(widths);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;

                    Wszystkie(W, rys, true);

                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);
                        table.AddCell(PNG);
                        if (rys.liczba_matryc + 1 % 2 != 0 && i + 1 > rys.liczba_matryc)
                        {
                            table.AddCell(new iTextSharp.text.pdf.PdfPCell(new iTextSharp.text.Phrase("")));
                        }

                        if (listawybranychinformacji.Count > 1 && i % 4 == 0)
                        {
                            for (int k = i; k <= i + 3; k++)
                            {
                                GetInfoPDF(J, k, tableInfo, listawybranychinformacji);
                            }
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        if ((i % 4 == 3 && i != 0) || i + 1 > rys.liczba_matryc)
                        {
                            doc.Add(table);
                            doc.NewPage();
                            table = new iTextSharp.text.pdf.PdfPTable(2);

                            table.SetWidths(widths);
                            table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                            table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                            table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                        }
                    }
                }
                else if (listawybranychinformacji[0] == "Dwie na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(1);
                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }

                    float[] widths = new float[] { iTextSharp.text.PageSize.A4.Width - doc.LeftMargin };

                    table.SetWidths(widths);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;

                    Wszystkie(W, rys, true);

                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);
                        table.AddCell(PNG);
                        if (listawybranychinformacji.Count > 1 && i % 2 == 0)
                        {
                            for (int k = i; k <= i + 1; k++)
                            {
                                GetInfoPDF(J, k, tableInfo, listawybranychinformacji);
                            }
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        if (i % 2 != 0 && i != 0 || i + 1 > rys.liczba_matryc)
                        {
                            doc.Add(table);
                            doc.NewPage();
                            table = new iTextSharp.text.pdf.PdfPTable(1);
                            table.SetWidths(widths);
                            table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin)) / 2;
                            table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                            table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                        }
                    }
                }
                else if (listawybranychinformacji[0] == "Jedna na stronę")
                {
                    iTextSharp.text.pdf.PdfPTable tableInfo = new iTextSharp.text.pdf.PdfPTable(1);
                    iTextSharp.text.pdf.PdfPTable table     = new iTextSharp.text.pdf.PdfPTable(1);
                    table.DefaultCell.FixedHeight         = (iTextSharp.text.PageSize.A4.Height - (2 * doc.BottomMargin));
                    table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                    table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                    Wszystkie(W, rys, true);

                    if (listawybranychinformacji.Count > 1)
                    {
                        tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                    }


                    for (int i = 0; i <= rys.liczba_matryc; i++)
                    {
                        iTextSharp.text.Image PNG = iTextSharp.text.Image.GetInstance(System.AppDomain.CurrentDomain.BaseDirectory + "tmp\\matryca" + i + ".png");
                        RotationPNG(PNG);



                        table.AddCell(PNG);
                        if (listawybranychinformacji.Count > 1)
                        {
                            GetInfoPDF(J, i, tableInfo, listawybranychinformacji);
                            doc.Add(tableInfo);
                            doc.NewPage();
                            tableInfo = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                        doc.Add(table);
                        doc.NewPage();
                        table = new iTextSharp.text.pdf.PdfPTable(1);
                        table.DefaultCell.VerticalAlignment   = iTextSharp.text.Element.ALIGN_MIDDLE;
                        table.DefaultCell.HorizontalAlignment = iTextSharp.text.Element.ALIGN_CENTER;
                    }
                }
                else if (listawybranychinformacji[0] == "Brak")
                {
                    if (listawybranychinformacji.Count > 1)
                    {
                        iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);


                        for (int i = 0; i <= rys.liczba_matryc; i++)
                        {
                            GetInfoPDF(J, i, table, listawybranychinformacji);

                            doc.Add(table);
                            table = new iTextSharp.text.pdf.PdfPTable(listawybranychinformacji.Count - 1);
                        }
                    }
                }


                doc.Close();
                foreach (FileInfo file in di.GetFiles())
                {
                    file.Delete();
                }
                di.Delete();
            }
            //   }
            //   catch {
            //     MessageBox.Show("Coś poszło nie tak!","Błąd!", MessageBoxButton.OK,MessageBoxImage.Warning);
            //  }
        }