Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


text på bild

Postades av 2004-06-25 10:46:53 - Mikael Åhlén, i forum asp.net generellt, Tråden har 16 Kommentarer och lästs av 1269 personer

Jag har en applikation som man kan skriva text på bild, men tyvärr så blir det inte den bästa kvaliten.

Jag har läst lite om "quality" men tyvärr ej lyckats så bra, jag är tyvärr inte så hajj på C# än, men jag håller på att lär mig.

Sedan kan det väl vara typen av fil som är felet? Jag har inte heller lyckats när jag har angivit "image/gif".

<code>
{
Bitmap bmp= new Bitmap(Server.MapPath("bildText.jpg"));
Graphics g=Graphics.FromImage(bmp);
g.SmoothingMode = SmoothingMode.AntiAlias ;
g.DrawString(Request.QueryString["t"],
new Font("Trebuchet MS",13),SystemBrushes.WindowText, 4, 1);
Response.ContentType="image/jpeg";
bmp.Save(Response.OutputStream, bmp.RawFormat) ;
}
</code>

Skulle vara tacksam med hjälp,

// Micke åhlén


Svara

Sv: text på bild

Postades av 2004-06-25 12:02:54 - Andreas Håkansson

Micke,

Vad man får göra är att modifiera output kvaliten med hjälp av en <b>Encoder</b> och en <b>EncoderParameter</b> för att ange vilken kvalitet man vill ha.

<b>[C#]</b>

using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Drawing.Text;

public class ImageOutput : System.Web.UI.Page
{
	private void Page_Load(object sender, System.EventArgs e)
	{
		Bitmap bmp =
			new Bitmap(Server.MapPath("andreas.jpg"));
		Graphics g=Graphics.FromImage(bmp);
		g.TextRenderingHint  = TextRenderingHint.AntiAlias;
		g.DrawString("Hejsan", 
			new Font("Trebuchet MS",13), SystemBrushes.WindowText, 4, 1);

		ImageCodecInfo info =
			this.GetEncoderInfo("image/jpeg");

		Encoder enc = Encoder.Quality;
		EncoderParameters encParams = new EncoderParameters(1);
		encParams.Param[0] =
			new EncoderParameter(enc, 200L);

		bmp.Save(Response.OutputStream, info, encParams);
	}

	/// <summary>
	/// 
	/// </summary>
	/// <param name="mineType"></param>
	/// <returns></returns>
	public ImageCodecInfo GetEncoderInfo(string mineType)
	{
		ImageCodecInfo encoderInfo = null;
		foreach(ImageCodecInfo info in ImageCodecInfo.GetImageEncoders())
		{
			if( info.MimeType == mineType )
			{
				encoderInfo = info;
				break;
			}
		}
		return encoderInfo;
	}
}


<b>[VB.NET]</b>
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Drawing.Imaging
Imports System.Drawing.Text

Public Class ImageOutput
    Inherits System.Web.UI.Page

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim bmp As Bitmap = New Bitmap(Server.MapPath("andreas.jpg"))
        Dim g As Graphics = Graphics.FromImage(bmp)
        g.TextRenderingHint  = TextRenderingHint.AntiAlias
        g.DrawString("Hejsan", New Font("Trebuchet MS", 13), SystemBrushes.WindowText, 4, 1)

        Dim info As ImageCodecInfo = Me.GetEncoderInfo("image/jpeg")
        Dim enc As Encoder = Encoder.Quality
        Dim encParams As EncoderParameters = New EncoderParameters(1)

        encParams.Param(0) = New EncoderParameter(enc, 100L)

        bmp.Save(Response.OutputStream, info, encParams)

    End Sub

    Public Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo
        Dim encoderInfo As ImageCodecInfo
        For Each encoderInfo In ImageCodecInfo.GetImageEncoders()
            If encoderInfo.MimeType = mimeType Then
                GetEncoderInfo = encoderInfo
            End If
        Next
    End Function

End Class


Hoppas detta hjälper


Svara

Sv: text på bild

Postades av 2004-06-25 13:15:19 - Mikael Åhlén

Jag får det inte att funka, jag har kodat om lite som du skrev fel,

Just nu får jag fel på det här

<code>
denna: Encoder enc = Encoder.Quality;
EncoderParameters encParams = new EncoderParameters(1);
</code>


Svara

Sv: text på bild

Postades av 2004-06-25 13:32:38 - Andreas Håkansson

Micke,

För det första är koden prövad så jag vet att den fungerar.. körde den precis innan jag postade den för att vara säker på att den var komplett. Och vad är det för fel du får? Hur i hela världen skall man kunna hjälpa dig när du inte klipper in ditt felmeddelande? =)

Jag skulle tippa på att du inte har lagt till rätt namnrymder och att det är därför du får felmeddelande. Se till att du har med följande namnrymder.

using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;


Svara

Sv: text på bild

Postades av 2004-06-25 13:49:21 - Mikael Åhlén

Oj, sorry. Jag som hade skrivit lite fel tyvärr. Jag gjorde om allt och då funkade det utmärkt.

Jag hade de dära namnrymderna så du vet.

Aja, nu sätter jag tråden som Löst.

Tack till dig Andreas som tog dig tid för mitt problem

// Micke Åhlén

Felet som var först var:

Beskrivning: Ett fel inträffade vid kompilering av en resurs som är nödvändig för att utföra den aktuella begäran. Granska den specifika felinformationen nedan och gör nödvändiga ändringar i källkoden.


Svara

Sv: text på bild

Postades av 2004-06-25 13:54:16 - Andreas Håkansson

Micke,

Det kan hända oss all ;) Uppdaterar tråden med ett VB.NET inlägg för de som är intresserad av hur det ser ut där.


Svara

Sv: text på bild

Postades av 2004-06-25 17:17:33 - Mikael Åhlén

Snällt att du gjorde det i VB.net också, jag har bara en fråga till. Går det att anpassa koden till att använda gif-format?

// Micke Åhlén


Svara

Sv: text på bild

Postades av 2004-06-26 00:33:13 - Andreas Håkansson

Micke,

Får du kvalites problem med gif också? Gif använder inte komprimering när den lagrar bild informationen, medans jpg skalar bort information för att få ner storleken. Detta kallas för lös-komprimiring då man inte kan återskapa orginalet när det väl komprimerats.


Svara

Sv: text på bild

Postades av 2004-06-26 09:59:00 - Mikael Åhlén

Nej, jag får det inte att funka med Gif. Jag skriver väl fel för att få det funka med gif.
Det är transparent jag är ute efter men ifall det inte blir så bra med gif så struntar jag i det.

// Micke


Svara

Sv: text på bild

Postades av 2004-07-26 20:55:17 - Mikael Åhlén

hej, jag drar upp den här tråden då jag har försökt att färga min text men tyvärr inte lyckats.

Hur ska jag göra för att lyckas?

/m


Svara

Sv: text på bild

Postades av 2004-07-26 21:14:52 - Johan Normén

Hej, kör du med Gif kan du sätta transaparent för en viss färg. Dock finns det problem med Jpeg till gif eller om du sätter ihop flera bilder med olika pletter.

Jpeg har ju lite fler färger än de 256 som Gig tillåter. När du exempelvis omvanldar en bitmap som har fler färger än 256 kommer den att anpassa en palett som tyvärr inte duger. Den drar ner antalet färger men anpassar dem inte. Du kan själv skriva kod som kan "konventera" tusentals färger till 256 på några olika sätt. Ett sätt är att skapa den palett du vill ha för din gif, läsa in den och sedan gå genom färg för färg från din original palett för att se vilken färg den är närmst och ersätta denna med närmsta färg från din gif palett. Eller så kan ju göra en rutin som går genom hela din tusentals färgepalett och minska den genom att kolla efter palett för palett och ta nämrsta passande. Alltså leta reda på exemplevis blått ta de blåa färger som passar denna blåa bäst och ta bort övriga osv med alla de färger du har till du fått ner det till 256. Därefter sätt första färgen i paletten till transparent (oftast det vanligaste) dock måste du se till så du får den färgen du vill ha transparent på första färgen och på din bild.

Det är ingen lätt hantering då det går långsamt om du inte utför det med unsafe mode samt pekare.

Mvh Johan


Svara

Sv: text på bild

Postades av 2004-07-26 21:21:59 - Johan Normén

Micke:

Du kan göra som jag gör:
<code>
private void AddTextToBitmap(string text,Bitmap bitmap)
{
pictureBuilder = Graphics.FromImage(bitmap);

SolidBrush TextColor = new SolidBrush(this.fontColor);

StringFormat stringFormat = new StringFormat();
stringFormat.Trimming = StringTrimming.None;

PointF textPosition = new PointF(this.textPosX,this.textPosY);

pictureBuilder.DrawString(text,this.font,TextColor,textPosition,stringFormat);
}
</code>

Mvh Johan


Svara

Sv: text på bild

Postades av 2004-07-26 21:45:48 - Mikael Åhlén

Finns det något sätt att ändra text färgen på den här raden?

g.DrawString(Request.QueryString["t"], new Font("Verdana",12), SystemBrushes.WindowText, 2, 2);


Svara

Sv: text på bild

Postades av 2004-07-26 22:26:39 - Andreas Håkansson

Micke,

Du får skapa en egen brush i den färgen du vill ha

SolidBrush sb = new SolidBrush(Color.Blue);
g.DrawString(Request.QueryString["t"], new Font("Verdana",12), sb, 2, 2);


Hoppas det löser sig!


Svara

Sv: text på bild

Postades av 2004-07-26 22:32:58 - Mikael Åhlén

Ok, tack.

Går det att ha en #hex färg?

edit...

jag löste det, dock så blir inte jätte fint, blir lite suddigt med det kanske det "måste" bli ?

/m


Svara

Sv: text på bild

Postades av 2004-07-27 00:36:56 - Johan Normén

Micke?

Suddigt? när du använde hex färg eller la på texten allmänt?

Mvh Johan


Svara

Sv: text på bild

Postades av 2004-07-27 08:37:32 - Mikael Åhlén

När jag hade tex. hade Color.Blue så var det bra, sedan när jag t.ex valde #FF9900 så blev det lite suddigt, dock så gör det inget för det syns inte så mycket.

/m


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 167
27 952
271 704
608
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies