Avatar billede jokkejensen Novice
24. februar 2005 - 18:20 Der er 8 kommentarer og
1 løsning

Merge 2 billeder i C-sharp

Hej eksperter..

Ville lige høre om der var nogen der kendte til at lave en "underskrift" på billeder ved upload like www.hotpeople.dk vil gerne have at den automatisk ligger side logoet på hvert billede, gerne i toppen..

Jeg har styr på at uploade og arbejde med image og bitmap, men hvordan mixer man dem lige sammen, et link til det klasse bibliotek jeg skal benytte på msdn.com vil være fint, men fortrækker et færdigt kode eksempel..

Mange hilsner
Avatar billede burningice Nybegynder
24. februar 2005 - 18:57 #1
protected void savePicture(bool withLogo)
        {
            string baseDir = Connect.Web.Configuration.BasePath;
            string pictureDir = Connect.Web.Configuration.PictureDir;

            Stream s = new MemoryStream(pictureData);               
            Bitmap b = new Bitmap(s);
                   
            bool ligger = true;

            if (b.Height > b.Width)
            {
                ligger = false;
            }
           
            Size s_small = new Size(ligger == true ? 100 : 75, ligger == true ? 75 : 100);
            Size s_big = new Size(ligger == true ? 640 : 480, ligger == true ? 480 : 640);
                               
            Bitmap small = ImageUtilities.Resize(b, s_small.Width, s_small.Height, false);
            small.Save(pictureDir +"\\"+ this.Id +"-small.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            small.Dispose();
                   
            Bitmap big = ImageUtilities.Resize(b, s_big.Width, s_big.Height, false);
                       
            if (withLogo)
            {
                Bitmap logo = new Bitmap(System.Drawing.Image.FromFile(Configuration.BasePath +@"\gfx\pic-view-logo.gif"));
                Graphics g = Graphics.FromImage(big);

                if (ligger)
                {
                    g.FillRectangle(Brushes.Black, 439, 407, 196, 68);
                    g.DrawImageUnscaled(logo, 439, 407);
                }
                else
                {
                    g.FillRectangle(Brushes.Black, 279, 567, 196, 68);
                    g.DrawImageUnscaled(logo, 279, 567);
                }

                logo.Dispose();
            }           
                   
            big.Save(pictureDir +"\\"+ this.Id +"-big.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
            big.Dispose();   
            b.Dispose();
        }
Avatar billede burningice Nybegynder
24. februar 2005 - 18:58 #2
noget gammelt kode jeg havde liggende, men du burde kunne se ideen i det :)
Avatar billede jokkejensen Novice
24. februar 2005 - 19:02 #3
og du siger det virker ?
Avatar billede jokkejensen Novice
24. februar 2005 - 19:04 #4
hvis så, så smid et svar, det tager nok lidt tid inden jeg får det viklet ind i mit kode..
Avatar billede burningice Nybegynder
26. februar 2005 - 02:42 #5
svar :)
Avatar billede jokkejensen Novice
26. februar 2005 - 10:14 #6
string baseDir = Connect.Web.Configuration.BasePath;

sorry jeg lige sprøger.. men er det en anden måde at tilgå web.config end

string ConnStr = System.Configuration.ConfigurationSettings.AppSettings["MDBString"];
Avatar billede davidfossil Nybegynder
26. februar 2005 - 12:19 #7
Umiddelbart nej.
Jeg plejer dog at importe hele Configuration namepace i starten af filen.

using System.Configuration;

Så bliver det da en anelse kortere når du skal bruge en appsetting:
string ConnStr = ConfigurationSettings.AppSettings["MDBString"];
Avatar billede jokkejensen Novice
26. februar 2005 - 12:37 #8
ja okay, den kunne jeg godt regne ud.. men jeg tænkte mere på hvad Connect.Web.Configuration.BasePath refererede til....
Avatar billede burningice Nybegynder
26. februar 2005 - 12:47 #9
det referede bare til en egen configurationsfil jeg havde lavet som wrapper rundt om web.config og en configurationstabel i databasen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester