[ digitall1982 @ 24.09.2007. 15:04 ] @
trebam napraviti programcic koji ce korisniku omoguciti da odabere sliku, da je moze rastezati i pomicati, napise neki tekst pored slike, preko slike, odredi velicinu ispisa na papiru npr. 10x10 cm i isprinta to.
moze koji link ili kratka uputa da znam odakle poceti.
hvala puno
pozdrav
[ TheBatA @ 24.09.2007. 20:54 ] @
Izvukao sam deo koda iz jednog progama koji sam radio i malo ga prepravio...
Nadam se da će ti pomoći bar za iscrtavanje teksta na slici, dok ćeš za štampanje toga morati da se snađeš...
Ovaj primer iscrtava navedeni tekst na sliku u pictureBox-u, i ima opciju podešavanja providnosti, t.j neprovidnosti teksta.

Code:
               
        private void drawText()
        {
            // boja teksta
            myWatermarkColor = Color.Red;

            float fontSize = 10;
            string CurrentFile = "slika.jpg";
            string tekstNaSlici = "ovo je slika!";
            Font f;

            try
            {
                f = new Font(FontFamily.GenericMonospace, fontSize);
            }
            catch (Exception e)
            {
                // obrada greške
            }
            
            myFont = f;

            try
            {
                picContainer.Image = Image.FromFile(CurrentFile);
            }
            catch (Exception gre)
            {
                // opet obrada greške, ako fajl ne postoji i sl.
            }

            int opac = 0;  
            int procenat = 50; // procenat neprovidnosti (opacity) fonta

            opac = (int)((double)((double)procenat / (double)100) * 255); // ovo može verovatno elegantnije da se reši :)

            Graphics g;
            //Učitavanje slike
            try
            {
                g = Graphics.FromImage(picContainer.Image);
            }
            catch // nekad ne uspeva da pročita sliku pa mora da se pristupi sledećem:
            {
                Image slika = picContainer.Image;
                try
                {
                    Bitmap bmp = new Bitmap(slika);
                    Bitmap slika2 = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format24bppRgb);
                    g = Graphics.FromImage(slika2);
                    g.DrawImage(bmp, 0, 0, slika2.Width, slika2.Height);
                    picContainer.Image = slika2;
                }
                catch 
                {
                    return;
                }

            }

            // ovde podešavaš boju i neprovidnost teksta koji ispisuješ
            Brush myBrush = new SolidBrush(Color.FromArgb(opac, myWatermarkColor));
            SizeF sz = g.MeasureString(tekstNaSlici, myFont);
            if (tesktNaSlici != "")
            {
                int X;
                int Y;
                X = 0;
                Y = 0;
                while ((int)Y <= picContainer.Image.Height)
                {
                    while ((int)X <= picContainer.Image.Width)
                    {
                        //ovde ispisuješ tekst navedenim fontom i "četkicom"
                        g.DrawString(tekstNaSlici, myFont, myBrush, new Point(X, Y));
                        X += (int)sz.Width;
                    }
                    X = 0;
                    Y += (int)sz.Height;
                }
            }
            g.Dispose();
                
        }