AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image Fade In

Ein Thema von Kage · begonnen am 12. Dez 2006 · letzter Beitrag vom 13. Dez 2006
Antwort Antwort
Kage

Registriert seit: 7. Feb 2006
Ort: Vor dem PC
10 Beiträge
 
Delphi 7 Enterprise
 
#1

Image Fade In

  Alt 12. Dez 2006, 22:13
Nun, ich habe zwar ein Fade Out gefunden nicht aber ein Fade In. Natürlich ist es für die einen unter euch keine Sache sowas kurz umzuschreiben, aber ich krieg einfach nicht raus, was ich ändern muss um aus dem Fade Out ein Fade In zu kriegen.

Also, hier der Fade Out Code:
Delphi-Quellcode:
  procedure FadeIn(const BMP:TImage; Pause:integer) ;
   var
    BytesPorScan : integer;
    w,h : integer;
    p : pByteArray;
    counter : integer;

   begin
      {This only works with 24 or 32 bits bitmaps}
      If Not (BMP.Picture.Bitmap.PixelFormat
              in [pf24Bit, pf32Bit])
       then raise exception.create
          ('Error, bitmap format not supported.') ;

      try
       BytesPorScan:=
        Abs(Integer(BMP.Picture.Bitmap.ScanLine[1])-
            Integer(BMP.Picture.Bitmap.ScanLine[0])) ;
      except
        raise exception.create('Error') ;
      end;

      {Increase the RGB for each single pixel}
      for counter:=1 to 256 do
      begin
        for h:=0 to BMP.Picture.Bitmap.Height-1 do
        begin
          P:=BMP.Picture.Bitmap.ScanLine[h];
          for w:=0 to BytesPorScan-1 do
            if P^[w] > 0 then P^[w]:=P^[w]+1;
        end;
        Sleep(Pause);
        BMP.Refresh;
      end;
    end; {procedure FadeIn}
Schon im voraus ein Danke an denjenigen/diejenige, der/die mir das kurz umschreibt.

P.S.: Und nein, mit der SuFu fand ich kein Fade In
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#2

Re: Image Fade In

  Alt 12. Dez 2006, 23:12
Hallo!

Suchfunktion benutzen
Zitat von Kage:
P.S.: Und nein, mit der SuFu fand ich kein Fade In
Ähm, dann Suchfunktion richtig benutzen: Hier im Forum suchenFade In, Hier im Forum suchenFade
Fullscreen SlideShow Bilder animieren stand in beiden Fällen in den Ergebnissen auf Platz 3...

Grüßle!

Edit: Oder hier: Image fade in?, steht sogar im Titel...
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Kage

Registriert seit: 7. Feb 2006
Ort: Vor dem PC
10 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Image Fade In

  Alt 13. Dez 2006, 12:29
Oh man, ich glaube ich brauche wirklich ma ne neue Brille wenn ich sogar das schon überseh oO
Habs jetzt auch so hingekriegt, wie ich wollte (glaub ich zumindest ^^).

Danke dir

[edit]Ok, alles hat funktioniert, aber es gefällt mir nicht (zugegeben, ich bin manchmal sehr wählerisch). Was mir viel mehr gefallen hat is wie beim obigen Code, wenn man "P^[w]:=P^[w]+1" statt (wie im Code woher ich das ganze habe) "P^[w]:=P^[w]-1" verwendet. Wäre also dennoch nett, wenn mir einfach wer den obigen Code kurz umschreiben könnte [/edit]
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Image Fade In

  Alt 13. Dez 2006, 13:05
Zitat von Kage:
Ok, alles hat funktioniert, aber es gefällt mir nicht (zugegeben, ich bin manchmal sehr wählerisch). Was mir viel mehr gefallen hat is wie beim obigen Code, wenn man "P^[w]:=P^[w]+1" statt (wie im Code woher ich das ganze habe) "P^[w]:=P^[w]-1" verwendet. Wäre also dennoch nett, wenn mir einfach wer den obigen Code kurz umschreiben könnte
Nö, aber ich kann dir sagen, was du umschreiben müsstest. Dass er dort die Pixeldaten verändert ist dir ja nun schon klar. Dass du nun statt + - nehmen musst, ist dir auch klar. Daher sage ich dir worauf du achten musst: Dekrementiere nur so lange, bis du den Originalwert erreicht hast.
  Mit Zitat antworten Zitat
Kage

Registriert seit: 7. Feb 2006
Ort: Vor dem PC
10 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Image Fade In

  Alt 13. Dez 2006, 13:13
Zitat von Muetze1:
Nö, aber ich kann dir sagen, was du umschreiben müsstest. Dass er dort die Pixeldaten verändert ist dir ja nun schon klar. Dass du nun statt + - nehmen musst, ist dir auch klar. Daher sage ich dir worauf du achten musst: Dekrementiere nur so lange, bis du den Originalwert erreicht hast.
Ok, jetzt müsste ich noch wissen wie man dekrementiert, hab da keine Ahnung von, leider. Wär nett, wenn du das noch kurz umformulieren könntest für einen, der nur Bahnhof versteht ^^"

[edit]Ich glaube, ich weiss nun, was du meinst, und wie ungefähr ich das bewerkstelligen muss. Danke fürs auf die Fährte bringen, hoffentlich klappts jetzt [/edit]
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Image Fade In

  Alt 13. Dez 2006, 13:58
dekrementieren = verrigner.
inkrementieren = erhöhen.

Letzteres hatte der Code gemacht (+ 1)
Ersteres muss der Code nun machen (- 1)

Und Originalwert = der Wert an der Stelle im Originalbild. Du musst nun von 255 immer so lange 1 abziehen, bis du den Wert erreicht hast, den das Bild original an der selben Stelle hat.
  Mit Zitat antworten Zitat
Kage

Registriert seit: 7. Feb 2006
Ort: Vor dem PC
10 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Image Fade In

  Alt 13. Dez 2006, 14:09
Also zu Deutsch ich muss per Schleife von 255 auf 0 zählen und bei jedem Durchgang prüfen ob der momentane Wert = dem Originalwert ist. Wenn das der Fall ist soll er den Wert verringern. Ok, soweit klar. Aber ist der Originalwert P^[W] oder wie les ich den aus? (Ich weiss, manchmal dauerts ziemlich lange, bis ich etwas wirklich begriffen habe, dafür kann ichs nachher noch sehr lange)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: Image Fade In

  Alt 13. Dez 2006, 17:15
Zitat von Kage:
Wenn das der Fall ist soll er den Wert verringern.
Falsch! Wenn der Originalwert erreicht ist, nicht weiter verringern, da du den originalen Wert erhalten hast...

Zitat von Kage:
Aber ist der Originalwert P^[W] oder wie les ich den aus?
P kommt doch von BMP.Picture.Bitmap.ScanLine[h] und das ist doch von dem (aktuell) schwarzen Bild und nicht dem Originalbild, oder? Somit musst du dir wohl zusätzlich von dem Originalen Bild auch was von dessen ScanLine[] holen (an der selben Stelle) und dann vergleichen...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz