Ejemplo n.º 1
0
        //funkcje

        private PowerPoint.Shape KreatorKsztalt(PowerPoint.Slide Slajd, Office.MsoAutoShapeType ksztalt, int numer, float marginesX, float marginesY, float odstep, float szerokosc, float wysokosc, Color kolor, float gradient, string czcionka, float rozmiar, Color kolorCz, bool pogrubienie, bool kursywa)
        {
            //tworzy figure

            PowerPoint.Shape figura;
            figura      = Slajd.Shapes.AddShape(ksztalt, marginesX + numer * (szerokosc + odstep) + odstep / 2, marginesY, szerokosc, wysokosc);
            figura.Name = "Generator_" + numer;
            //tekst
            Control temp = GroupBox4.Controls["textBox" + numer];

            figura.TextFrame.TextRange.Text           = temp.Text;
            figura.TextFrame.TextRange.Font.Size      = rozmiar;
            figura.TextFrame.TextRange.Font.Name      = czcionka;
            figura.TextFrame.TextRange.Font.Color.RGB = Color.FromArgb(kolorCz.B, kolorCz.G, kolorCz.R).ToArgb();
            if (pogrubienie)
            {
                figura.TextFrame.TextRange.Font.Bold = Office.MsoTriState.msoTrue;
            }
            if (kursywa)
            {
                figura.TextFrame.TextRange.Font.Italic = Office.MsoTriState.msoTrue;
            }
            //figura
            figura.Fill.OneColorGradient(Office.MsoGradientStyle.msoGradientHorizontal, 1, 0);
            figura.Fill.ForeColor.RGB = Color.FromArgb(kolor.B, kolor.G, kolor.R).ToArgb();
            figura.Fill.BackColor.RGB = Color.FromArgb((int)(kolor.B * gradient), (int)(kolor.G * gradient), (int)(kolor.R * gradient)).ToArgb();

            return(figura);
        }
Ejemplo n.º 2
0
 /// <summary>
 ///     Draw a shape on a slide
 /// </summary>
 /// <param name="slide">PPT.Slide object instance</param>
 /// <param name="shapeType">The shape type. Any shape from the MsoAutoShapeType can be specified</param>
 /// <param name="leftPosition">x position</param>
 /// <param name="topPosition">y position</param>
 /// <param name="width">Shape width</param>
 /// <param name="height">Shape height</param>
 /// <returns></returns>
 public PPT.Shape DrawShape(
     PPT.Slide slide,
     OFFICE.MsoAutoShapeType shapeType,
     float leftPosition,
     float topPosition,
     float width,
     float height)
 {
     return(slide.Shapes.AddShape(shapeType, leftPosition, topPosition, width, height));
 }
Ejemplo n.º 3
0
        private void StartBut_Click(object sender, EventArgs e)
        {
            taAplikacja = Globals.ThisAddIn.Application;
            projekt     = taAplikacja.ActivePresentation;
            PowerPoint.Slide Slajd = null;
            try //pobiera aktywny slajd, ustawia slajd na pierwszy w przypadku kursora pomiędzy slajdami
            {
                Slajd = taAplikacja.ActiveWindow.View.Slide;
            }
            catch
            {
                Slajd = taAplikacja.ActivePresentation.Slides[1];
            }
            float slideWidth  = projekt.PageSetup.SlideWidth;
            float slideHeight = projekt.PageSetup.SlideHeight; //pobiera szerokość, wysokość strony do dostosowania szerokości pól

            int   war  = SlajdNum.Value;                       //wartosc trackbara
            float marX = 10;
            float marY = 10;                                   //marginesy

            if (MarginesX.Text != "")
            {
                float.TryParse(MarginesX.Text, out marX);
            }
            if (MarginesY.Text != "")
            {
                float.TryParse(MarginesY.Text, out marY);
            }

            float odstep = 0;

            if (Odstep.Text != "")
            {
                float.TryParse(Odstep.Text, out odstep);
            }

            float wys = 50;

            if (Wysokosc.Text != "")
            {
                float.TryParse(Wysokosc.Text, out wys);
            }
            float szer = (slideWidth - 2 * marX - war * odstep) / war; // atrybuty kształtu

            //granice działania
            int odSlajdu = 1, doSlajdu = projekt.Slides.Count;

            Int32.TryParse(Controls["slajdmin"].Text, out odSlajdu);
            if (odSlajdu == 0)
            {
                odSlajdu = 1;
            }
            Int32.TryParse(Controls["slajdmax"].Text, out doSlajdu);
            if (doSlajdu == 0)
            {
                doSlajdu = projekt.Slides.Count;
            }

            int slajdpoczatkowy = Slajd.SlideIndex;

            //pętla iterująca przez slajdy
            for (int slajd = odSlajdu; slajd <= doSlajdu; slajd++)
            {
                taAplikacja.ActiveWindow.View.GotoSlide(slajd);
                Slajd = taAplikacja.ActiveWindow.View.Slide;
                Int32.TryParse(GroupBox2.Controls["fontSize"].Text, out int fSize);
                if (fSize == 0)
                {
                    fSize = 26;
                }
                //pętla tworząca figury
                for (int a = 0; a < war; a++)
                {
                    //resetowanie parametrow (potrzebne)
                    Office.MsoAutoShapeType ksztalt = (Office.MsoAutoShapeType)Ksztalt.SelectedValue;
                    string czcionka = Czcionka.SelectedValue.ToString();
                    Color  tempKsztalt = kolorKsztaltu;
                    float  gradient = 0.9f;
                    Color  tempCzcionka = kolorCzcionki;
                    bool   pogrubienie = false, kursywa = false;
                    //sprawdzanie zaznaczenia
                    Int32.TryParse(GroupBox4.Controls["odStrony" + a].Text, out int min);
                    Int32.TryParse(GroupBox4.Controls["doStrony" + a].Text, out int max);
                    if (Slajd.SlideIndex >= min && Slajd.SlideIndex <= max)
                    {
                        if (AltGrad.Checked)
                        {
                            gradient = 0.5f;
                        }
                        if (AltKszt.Checked)
                        {
                            ksztalt = (Office.MsoAutoShapeType)(KsztaltAlt.SelectedValue);
                        }
                        if (AltColorKszt.Checked)
                        {
                            tempKsztalt = kolorKsztaltuAlt;
                        }
                        if (AltColorFont.Checked)
                        {
                            tempCzcionka = kolorCzcionkiAlt;
                        }
                        if (AltFont.Checked)
                        {
                            czcionka = CzcionkaAlt.SelectedValue.ToString();
                        }
                        if (Bold.Checked)
                        {
                            pogrubienie = true;
                        }
                        if (Italic.Checked)
                        {
                            kursywa = true;
                        }
                    }
                    //wywołanie funkcji tworzącej figury
                    KreatorKsztalt(Slajd, ksztalt, a, marX, marY, odstep, szer, wys, tempKsztalt, gradient, czcionka, fSize, tempCzcionka, pogrubienie, kursywa);
                }
            }
            taAplikacja.ActiveWindow.View.GotoSlide(slajdpoczatkowy);
        }
Ejemplo n.º 4
0
 /// <summary>
 ///     Find all shapes of a type in a presentation
 /// </summary>
 /// <param name="presentation">PPT.Presentation object instance</param>
 /// <param name="shapeType">The shape type to look for</param>
 /// <returns></returns>
 public List <ShapesofType> FindShapesInPresentation(PPT.Presentation presentation, OFFICE.MsoAutoShapeType shapeType)
 {
     return((from PPT.Slide slide in presentation.Slides
             from PPT.Shape shape in slide.Shapes
             where shape.AutoShapeType == shapeType
             select new ShapesofType {
         shape = shape, shapeType = shape.Type, slide = slide
     }).ToList());
 }