Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 4 janv. 2009 à 15:02
bah je m'en doutais un peu (bcp) que c'était un problème de MAJ :)
Trop de souris , ça fait des trous dans les serveurs , c'est à cause de ça !
[vraiment mauvaise celle-là , je sors -->[])
Nico
Et bonne année (mal poli que je suis ^^ )
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 4 janv. 2009 à 14:58
@Nicolas___:
Rien à faire, la maj ne passe pas..
le site a vraisemeblablement
des soucis en ce moment...
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 4 janv. 2009 à 14:51
si si j'avais bien mis la correction mais la maj ne s'est pas faite..
du moins elle s'est mis en place et puis elle s'est annulée !
je recommence.
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 4 janv. 2009 à 13:25
tu n'as pas retirer ts les uses inutiles : JvExStdCtrls,
JvBehaviorLabel, JvExControls, JvLabel;
Pour tes
IF compteur = 0 THEN
IF (COMPTEUR > 0) AND (compteur < 50) THEN
IF (COMPTEUR = 50) THEN
tu peux faire comme ca aussi
case Compteur of
0 :
1..49 :
50 :
end;
Ca serait bien de pouvoir stopper vite l'application :
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_ESCAPE then Close;
end;
"Nettoyage des uses en trop et passage en 32 bits"
En gros je pense que tu t'es trompé de version parceque moi j'ai ca :
Bitmap.PixelFormat := pf24bit;
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 4 janv. 2009 à 13:23
@Francky:
trop près ?
de ton avatar ou de l'utilisateur ?
Francky23012301
Messages postés400Date d'inscriptionsamedi 6 août 2005StatutMembreDernière intervention11 février 20161 4 janv. 2009 à 00:09
Cantador : c'est super fun ton truc par contre je trouve que ca fait un peu trop près (Et la distance de sécurité m'enfin ^^).
Coté code : rien à redire, c'est nickel.
Francky23012301
Messages postés400Date d'inscriptionsamedi 6 août 2005StatutMembreDernière intervention11 février 20161 3 janv. 2009 à 05:23
Ah c'est ici qu'on fait la fête ? Bonne année à tous ("Grosse bise ?" Mais t'as pas un peu fous de vouloir nous lecher le citron lol).
@Cantador : Je regarde ton source demain et je te dis ce que j'en pense
Mowglinaute
Messages postés41Date d'inscriptiondimanche 4 mars 2007StatutMembreDernière intervention27 février 2013 2 janv. 2009 à 12:19
Bonne et heureuse année à tous les êtres humains positifs.
Dr. Joseph LOMBET
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 2 janv. 2009 à 10:16
Salut à tous!
Remarque interessante: faut que je m' attarde sur le pf32bit,
merci et bonne année à tous!!!
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 1 janv. 2009 à 14:30
Oui j'imagine qu'elle est justifiée.
C'est juste que je n'arrive pas à comprendre pourquoi en 1 appel à scanline on peut scanner le bitmap entier ? Je n'arrive pas à le concevoir en fait :'/
Mais je finirai bien par comprendre un jour ... j'espère :/
Cordialement, Bacterius !
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 1 janv. 2009 à 12:39
@Bacterius :
la remarque de cirec est justifiée..
J'ai conservé les anciennes lignes de code dans le source.
il n'y a plus qu'un seul appel à scanline et la nouveauté c'est le passage en :
Bitmap.PixelFormat := pf32bit;
et
NPix := Bitmap.Height * Bitmap.Width;
J'ai noté une légère amélioration de la fluidité et si le programme avait été plus copieux, la différence aurait été plus flagrante !
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 1 janv. 2009 à 02:26
Sympathique !
Je n'ai toujours pas compris l'histoire du "1 seul appel à ScanLine" ?
Cordialement, Bacterius !
PS : merci d'avoir cité mon tutorial Cantador :)
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 1 janv. 2009 à 01:59
Merci offlake et
bonne année !
offlake
Messages postés190Date d'inscriptionmercredi 3 septembre 2008StatutMembreDernière intervention17 janvier 2009 31 déc. 2008 à 23:41
Bon Code !!
BY OFFLAKE
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 31 déc. 2008 à 15:52
Merci cirec d'autant plus que les uses Jvcl ne sont pas utilisés !
Pour le 32 bit je vais regarder..
1°) tu as oublié de retirer les unités de la JVCL ;)
2°) en passant en 32bit l'accès aux données est plus rapide et plus simple (plus qu'un seul appel à ScanLine) !!!
ce qui donne :
PROCEDURE TForm1.DessineImage(Bitmap: TBitmap);
VAR
I: integer;
NPix: Integer;
Row: pRGBQuad;
BEGIN
Row := Bitmap.Scanline[Bitmap.Height - 1];
NPix := Bitmap.Height * Bitmap.Width;
for I := 0 to NPix do
begin
IF compteur = 0 THEN
BEGIN IF (Row^.rgbRed 255) AND (Row^.rgbGreen 0) AND (Row^.rgbBlue = 0) THEN
BEGIN
Row^.rgbRed := stored;
Row^.rgbGreen := stogreen;
Row^.rgbBlue := stoblue;
END;
END
ELSE
IF (COMPTEUR > 0) AND (compteur < 50) THEN
BEGIN IF (Row^.rgbRed stored) AND (Row^.rgbGreen stogreen) AND (Row^.rgbBlue = stoblue) THEN
BEGIN
Row^.rgbRed := newstored;
Row^.rgbGreen := newstogreen;
Row^.rgbBlue := newstoblue;
END;
END
ELSE
IF (COMPTEUR = 50) THEN
BEGIN IF (Row^.rgbRed stored) AND (Row^.rgbGreen stogreen) AND (Row^.rgbBlue = stoblue) THEN
BEGIN
Row^.rgbRed := 255;
Row^.rgbGreen := random(256);
Row^.rgbBlue := 0;
END;
END;
Inc(Row);
end;
IF compteur > 0 THEN
BEGIN
stored := newstored;
stogreen := newstogreen;
stoblue := newstoblue;
END;
END;
4 janv. 2009 à 15:02
Trop de souris , ça fait des trous dans les serveurs , c'est à cause de ça !
[vraiment mauvaise celle-là , je sors -->[])
Nico
Et bonne année (mal poli que je suis ^^ )
4 janv. 2009 à 14:58
Rien à faire, la maj ne passe pas..
le site a vraisemeblablement
des soucis en ce moment...
4 janv. 2009 à 14:51
du moins elle s'est mis en place et puis elle s'est annulée !
je recommence.
4 janv. 2009 à 13:25
JvBehaviorLabel, JvExControls, JvLabel;
Pour tes
IF compteur = 0 THEN
IF (COMPTEUR > 0) AND (compteur < 50) THEN
IF (COMPTEUR = 50) THEN
tu peux faire comme ca aussi
case Compteur of
0 :
1..49 :
50 :
end;
Ca serait bien de pouvoir stopper vite l'application :
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_ESCAPE then Close;
end;
"Nettoyage des uses en trop et passage en 32 bits"
En gros je pense que tu t'es trompé de version parceque moi j'ai ca :
Bitmap.PixelFormat := pf24bit;
4 janv. 2009 à 13:23
trop près ?
de ton avatar ou de l'utilisateur ?
4 janv. 2009 à 00:09
Coté code : rien à redire, c'est nickel.
3 janv. 2009 à 05:23
@Cantador : Je regarde ton source demain et je te dis ce que j'en pense
2 janv. 2009 à 12:19
Dr. Joseph LOMBET
2 janv. 2009 à 10:16
Remarque interessante: faut que je m' attarde sur le pf32bit,
merci et bonne année à tous!!!
1 janv. 2009 à 14:30
C'est juste que je n'arrive pas à comprendre pourquoi en 1 appel à scanline on peut scanner le bitmap entier ? Je n'arrive pas à le concevoir en fait :'/
Mais je finirai bien par comprendre un jour ... j'espère :/
Cordialement, Bacterius !
1 janv. 2009 à 12:39
la remarque de cirec est justifiée..
J'ai conservé les anciennes lignes de code dans le source.
il n'y a plus qu'un seul appel à scanline et la nouveauté c'est le passage en :
Bitmap.PixelFormat := pf32bit;
et
NPix := Bitmap.Height * Bitmap.Width;
J'ai noté une légère amélioration de la fluidité et si le programme avait été plus copieux, la différence aurait été plus flagrante !
1 janv. 2009 à 02:26
Je n'ai toujours pas compris l'histoire du "1 seul appel à ScanLine" ?
Cordialement, Bacterius !
PS : merci d'avoir cité mon tutorial Cantador :)
1 janv. 2009 à 01:59
bonne année !
31 déc. 2008 à 23:41
BY OFFLAKE
31 déc. 2008 à 15:52
Pour le 32 bit je vais regarder..
Bonne année !
31 déc. 2008 à 15:24
1°) tu as oublié de retirer les unités de la JVCL ;)
2°) en passant en 32bit l'accès aux données est plus rapide et plus simple (plus qu'un seul appel à ScanLine) !!!
ce qui donne :
PROCEDURE TForm1.DessineImage(Bitmap: TBitmap);
VAR
I: integer;
NPix: Integer;
Row: pRGBQuad;
BEGIN
Row := Bitmap.Scanline[Bitmap.Height - 1];
NPix := Bitmap.Height * Bitmap.Width;
for I := 0 to NPix do
begin
IF compteur = 0 THEN
BEGIN IF (Row^.rgbRed 255) AND (Row^.rgbGreen 0) AND (Row^.rgbBlue = 0) THEN
BEGIN
Row^.rgbRed := stored;
Row^.rgbGreen := stogreen;
Row^.rgbBlue := stoblue;
END;
END
ELSE
IF (COMPTEUR > 0) AND (compteur < 50) THEN
BEGIN IF (Row^.rgbRed stored) AND (Row^.rgbGreen stogreen) AND (Row^.rgbBlue = stoblue) THEN
BEGIN
Row^.rgbRed := newstored;
Row^.rgbGreen := newstogreen;
Row^.rgbBlue := newstoblue;
END;
END
ELSE
IF (COMPTEUR = 50) THEN
BEGIN IF (Row^.rgbRed stored) AND (Row^.rgbGreen stogreen) AND (Row^.rgbBlue = stoblue) THEN
BEGIN
Row^.rgbRed := 255;
Row^.rgbGreen := random(256);
Row^.rgbBlue := 0;
END;
END;
Inc(Row);
end;
IF compteur > 0 THEN
BEGIN
stored := newstored;
stogreen := newstogreen;
stoblue := newstoblue;
END;
END;
Bonnes Fêtes à tous