| Autor |
Beitrag |
Boller
      
Beiträge: 19
|
Verfasst: So 12.08.07 09:43
Hallo,
jeder kennt ms word *g*
also man kann dort über einfügen grafik die Bilddatei einfügen
anschließen geht man auf grafik formatieren und dann auf Bild->Bildsteuerung->Farbe
dort kann man die option ausgeblichen einstellen.
Das hat so dann den Effekt als wenn die Grafik zum Wasserzeichen wird.
Wie kann man denn in Delphi ein Bitmap ausbleichen?
danke im vorraus
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: So 12.08.07 10:26
Also,
ich nehme an, du willst das Bild einfach nur "heller" machen wodurch es an Farbstärke verliert und sich dem Weiß annähert!
Ich hab da zufällig was da.
Damit kannst du das Bild heller machen, als Faktor kannst du zB 1.8 nehmen oder so
www.dsdt.info/tipps/?id=653
Was für ein Zufall, das das auch noch von mir is^^
...
oke,
mfg Fighter#1
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|
Boller 
      
Beiträge: 19
|
Verfasst: So 12.08.07 20:05
hmmm deine Funktion hatte ich schon.
ist auch nicht schlecht aber der Clou.
Ms Word macht das wohl noch anders, die genauen werte müßte man haben
Versuch mal eine Grafik in Word auszubleichen wie im 1. Schritt beschrieben, da sieht das ganze schon etwas anders aus.
2. Sache die man in Word sehen kann, wenn man die Grafik z.Bsp. in die Kopfzeile hineinkopiert und danach die Kopfzeile Ansicht Modus verläßt dann wird das Bild auch heller? anders dargestellt.
oder kann man ein 2. Bitmap nur mit $AAAAAA FArbwert mit dem original Bild zusammen mischen?
Bitblt
Aufjedenfall soll das 1.Bild als Wasserzeichen heller ... ausgeblichen dargestellt werden.
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: So 12.08.07 20:31
Klar, schau die an wie meine Funnktion arbeitet und dann kannst du damit Arbeiten, nur wirst du wohl eher mit den RGB Farben arbeiten 
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|
Boller 
      
Beiträge: 19
|
Verfasst: So 12.08.07 20:56
Der Ausgangspunkt:
so habe in Ms Word nur prozentuale Werte gesehen
Helligkeit 79%
Kontrast 15%
Dann habe ich dazu folgende Delphi Routinen, wie muss man die einstellen um an die Prozentualen Werte sich annähern zu können?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58:
| procedure Helligkeit(Bitmap, Original : TBitmap; Value : integer); var x,y : integer; Ziel : ^TRGBTriple; Quelle : ^TRGBTriple; n : byte; ar : array[0..255] of byte; begin
n := abs(value); if value > 0 then for x := 0 to 255 do if integer(x + n) > 255 then ar[x] := 255 else ar[x] := x + n else for x := 0 to 255 do if integer(x - n) < 0 then ar[x] := 0 else ar[x] := x - n;
for y := 0 to Bitmap.Height-1 do begin Ziel := Bitmap.Scanline[y]; Quelle := Original.Scanline[y]; for x := 0 to (Bitmap.Width-1) do begin Ziel^.rgbtBlue := ar[Quelle^.rgbtBlue]; Ziel^.rgbtred := ar[Quelle^.rgbtred]; Ziel^.rgbtGreen := ar[Quelle^.rgbtGreen]; inc(Ziel); inc(quelle); end; end; end;
procedure Kontrast(const Bitmap: TBitmap; value: byte); var x,y,k: integer; Ziel,Quelle: ^TRGBTriple; Farbarray: array[0..255] of byte; faktor: single; begin faktor := 1 + value /100; for x := 0 to 255 do begin k := Round((integer(x) - 128)*faktor) + 128; if k > 255 then Farbarray[x] := 255 else if k < 0 then Farbarray[x] := 0 else Farbarray[x] := k; end; for y := 0 to Bitmap.Height-1 do begin Ziel := Bitmap.Scanline[y]; Quelle := Bitmap.Scanline[y]; for x := 0 to (Bitmap.Width-1) do begin Ziel^.rgbtred := Farbarray[Quelle^.rgbtred]; Ziel^.rgbtblue := Farbarray[Quelle^.rgbtblue]; Ziel^.rgbtgreen := Farbarray[Quelle^.rgbtgreen]; inc(ziel); inc(quelle); end; end; end; |
Mein Aufruf ist folgender:
Delphi-Quelltext 1: 2:
| Helligkeit(tbmp,tbmp,85); Kontrast(tbmp,15); |
Moderiert von matze: Delphi-Tags hinzugefügt
|
|
|