Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer
Artiklar > ASP

AspJpeg i ASP och ASP.NET(C#)

I den här artikeln kommer jag att gå igenom hur man med hjälp av AspJpeg lägger till en vattenstämpel på en bild (en bild på bild eller text på bild). Mer information om AspJpeg hittar du på deras hemsida. Vi ska alltså placera en text på en bild i denna artikel.

Vilka bilder kan jag jobba med?

Du kan jobba med JPEG, GIF, BMP, PNG och TIFF, men du kan bara spara bilden i JPEG format. Alltså kan resultatet endast bli av typen JPEG och inget annat.

Börja koda

Det första vi ska göra är att skapa en instans av AspJpeg, och det gör vi med följande kod:

Set aspJpeg = Server.CreateObject("Persits.Jpeg")

Därefter måste vi hämta bilden som vi ska jobba med:

aspJpeg.Open Server.MapPath("bilden.jpg")

Nu när vi skapat instansen och öppnat bilden som vi ska jobba med så är det dags att ställa inställningarna för texten som vi ska skriva på bilden. Koden förklarar sig själv:

aspJpeg.Canvas.Font.Color = &HFF3300

aspJpeg.Canvas.Font.Family = "Verdana"

aspJpeg.Canvas.Font.Bold = True

aspJpeg.Canvas.Font.Quality = 4

aspJpeg.Canvas.Font.BKMode = "Opaque" 'Krävs för att "Quality" ska fungera

aspJpeg.Canvas.Print 10,500 "Shadi är en grym kille!"

Som du ser så förklarar koden sig själv, det är inte så svårt att förstå. Första raden tar hand om textfärgen, nästa rad typsnittet, sedan fet stil osv osv...
En sak har jag märkt upp med röd stil, det är &H, saken är att du måste skriva det innan du anger den hexadecimala färgen.

Rita ram

Nu när vi skrivit texten på bilden så tänkte jag att vi ska skapa en ram också, vi ska ge den färgen svart och bredden 3 pixlar.

aspJpeg.Canvas.Pen.Color = &H000000

aspJpeg.Canvas.Pen.Width = 3

aspJpeg.Canvas.Brush.Solid = False

aspJpeg.Canvas.DrawBar 1, 1, Jpeg.Width, aspJpeg.Height

Och nu sparar vi bilden:

aspJpeg.Save Server.MapPath("ny_bild.jpg")

Färdig kod

Här får du koden i sin helhet:

Set aspJpeg = Server.CreateObject("Persits.Jpeg")

aspJpeg.Open Server.MapPath("bilden.jpg")



aspJpeg.Canvas.Font.Color = &HFF3300

aspJpeg.Canvas.Font.Family = "Verdana"

aspJpeg.Canvas.Font.Bold = True

aspJpeg.Canvas.Font.Quality = 4

aspJpeg.Canvas.Font.BKMode = "Opaque" 'Krävs för att "Quality" ska fungera

aspJpeg.Canvas.Print 10,500 "Shadi är en grym kille!"



aspJpeg.Canvas.Pen.Color = &H000000

aspJpeg.Canvas.Pen.Width = 3

aspJpeg.Canvas.Brush.Solid = False

aspJpeg.Canvas.DrawBar 1, 1, Jpeg.Width, aspJpeg.Height



Jpeg.Save Server.MapPath("ny_bild.jpg")

För dig som programmerar i .NET (C#):

<script runat="server" LANGUAGE="C#">



void Page_Load(Object Source, EventArgs E)

{

  ASPJPEGLib.IASPJpeg aspJpeg;

  aspJpeg = new ASPJPEGLib.ASPJpeg();



  aspJpeg.Open(Server.MapPath("bilden.jpg"))



  aspJpeg.Canvas.Font.Color = 0xFF3300;

  aspJpeg.Canvas.Font.Family = "Verdana";

  aspJpeg.Canvas.Font.Bold = 1;

  aspJoeg.Canvas.Font.Quality = 4;

  aspJpeg.Canvas.Font.BkMode = "Opaque";

  aspJpeg.Canvas.Print(10, 500, "Shadi är en grym kille!", Missing.Value);



  aspJpeg.Canvas.Pen.Color = 0x000000;

  aspJpeg.Canvas.Pen.Width = 3;

  aspJpeg.Canvas.Brush.Solid = 0;

  aspJpeg.Canvas.DrawBar(1, 1, aspJpeg.Width, aspJpeg.Height);



  aspJpeg.Save( Server.MapPath("ny_bild.jpg") );



  FramedImage.Src = "ny_bild.jpg";

}

</script>

Märk att &H är nu bytt mot 0x.

Slutord

Det finns många fler exempel på hur man kan göra, jag ska försöka skriva fler artiklar om AspJpeg för både ASP och .NET användarna, för det här är smidigt och användbart.

Exempel

Här får ni se några exempel på hur det till slut kan se ut. Källa: AspJpeg.com

Och detta exempel är relaterat till koden ovan:

Skapades: 2007-08-25 19:20:36
Skribent: Shadi
Lästs 1420 gånger
Betyg: 0 (artikeln har endast 0 röster, det krävs minst 5 för ett betyg)

Kommentarer

Kevin sa den 25 augusti 2007 kl 22:05:
Perfekt!
Detta behövs verkligen.
Gimbergsson sa den 25 augusti 2007 kl 23:02:
grymt, lägg gärna upp en bild på hur det ser ut när man använder samma kod som du skrivit här.
Pettersoft sa den 29 december 2007 kl 20:34:
Ska definitivt prövas.
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy