Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

printanje slike i teksta

[es] :: .NET :: printanje slike i teksta

[ Pregleda: 1899 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

digitall1982

Član broj: 73076
Poruke: 40
*.adsl.net.t-com.hr.



Profil

icon printanje slike i teksta24.09.2007. u 15:04 - pre 201 meseci
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
 
Odgovor na temu

TheBatA
Miljan Komatina
Senior software developer, QUANTUM -
AutoMARKET
Beograd

Član broj: 25309
Poruke: 64
80.93.229.*

Sajt: www.AutoMARKET.rs


Profil

icon Re: printanje slike i teksta24.09.2007. u 20:54 - pre 201 meseci
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();
                
        }


Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
 
Odgovor na temu

[es] :: .NET :: printanje slike i teksta

[ Pregleda: 1899 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.