BITMAP 32BITS INTÉGRÉ À LA VCL (TIMAGE, TPICTURE, TBITMAP, TOPENPICTUREDIALOG)
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 2022
-
18 avril 2009 à 15:09
jeantentou
Messages postés10Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention22 avril 2009
-
22 avril 2009 à 06:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jeantentou
Messages postés10Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention22 avril 2009 22 avril 2009 à 06:46
sauf erreur de ma part, ta remarque
************************************
en revanche ceci ne pose aucun problème:
var aBMP : TBitmap;
begin
aBMP := TBitmap.Create;
aBMP.Opacity := 180;
...
end;
************************************
n'est valable que dans une procedure, mais pas en variable globale
JP
jeantentou
Messages postés10Date d'inscriptionjeudi 24 mai 2007StatutMembreDernière intervention22 avril 2009 20 avril 2009 à 11:41
merci à Cirec
cette source est bien plus "globale" que tout ce que j'ai pu trouver ou faire sur ce sujet. Et en plus, c'est rapide!
JP
sp40
Messages postés1276Date d'inscriptionmardi 28 octobre 2003StatutContributeurDernière intervention 3 juillet 201515 20 avril 2009 à 10:29
Salut Cirec,
Merci pour cette source très intéressante. Pourrais-tu m'expliquer un peu plus en détail où se trouve la surcharge du TBitmap ?
J'avais vu, il y a déjà un bout de temps, une source très utile de DelphiProg qui permet de "dériver" des composants en déclarant un type sur une unité TComboBox = Class(MonCombo.TComboBox).
Du coup, j'ai fait quelques unités pour ajouter des fonctions à certains composants (CheckListBox, DateTimePicker, IDFTP...). Mais je suis obligé d'appeler cette dérivation sur chaque unité où je pose ces composants.
Ta méthode me semble permettre d'enregistrer définitivement les modifications de la classe. J'aimerais donc bien comprendre comment tu fais pour essayer de l'appliquer à mes modifs de composants.
Pour illustrer (et éclairer ?) ma question, je joins un exemple de modif du IDFTP
procedure TIdFTP.UnlockDir(ADir : String);
begin
Site('CHMOD 755 '+ ADir);
end;
Nicolas___
Messages postés992Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 avril 20131 19 avril 2009 à 16:43
c'est donc de ça que tu me parlais Cirec ...
en effet , c'est bien différent ^^
j'ai pas delphi ici mais je garde sous la main ;)
Nico
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 18 avril 2009 à 23:50
Bon voilà je me suis rattrapé sur une autre source concoctée pendant le reste de l'après-midi et ce soir ! Plus de bitmaps, je pense être en terrain à peu près connu sur ce coup-là ... quand-est-ce que ce bug va être réparé ?
Bon j'espère que cette source sera plus intéressante :)
Cordialement, Bacterius !
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 18 avril 2009 à 22:52
Bon je l'ai activé mais c'est pas trop dans la ligné ...
quand on reprend un code c'est pour l'améliorer ... pas l'inverse ... non !!!
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 18 avril 2009 à 18:13
J'ai mis une source qui est supposée s'inscrire dans la continuité de ta source Cirec. Le bug du code desactivé sans raison semble se poursuivre ...
Cordialement, Bacterius !
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 18 avril 2009 à 17:49
pou la ZLib, utilise la ZLibEx
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 18 avril 2009 à 15:54
Bizarre j'ai eu la même idée il y a quelques jours, mais sous la forme d'un composant non-visuel qui enveloppait un fichier bitmap 32 bits ... pas pensé àsurcharger la classe TBitmap ... enfin bref ça marchait (pas très ergonomique dans l'utilisation), mais je ne m'était pas attardé sur la compression. Bref j'avais abandonné ce projet.
Je crois bien que je vais essayer de le reprendre, en utilisant les techniques que j'aurai apprises dans ce source ... je la mets en favoris pour une lecture ultérieure, pas vraiment le temps maintenant ... Mais ça a l'air très intéressant (tout ce qui est image est cool).
Cordialement, Bacterius !
PS : tu as posté cette source graçe à un thread de forum vieux de plusieurs mois ? ^^
mdr
oui c'est vrai ... j'avais la compression mais un problème lors de la lecture (décompression) du flux sous D7 .. à cause de la ZLib :( j'ai donc retiré cette option mais
avec D2009 ça fonctionne très bien par contre. et la compression est meilleur qu'en PNG
content que ça te plaise ... Merci pour l'appréciation.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 18 avril 2009 à 15:09
Felicitation, tu viens de reinventer le PNG sans compression :D
hahaha
22 avril 2009 à 06:46
************************************
en revanche ceci ne pose aucun problème:
var aBMP : TBitmap;
begin
aBMP := TBitmap.Create;
aBMP.Opacity := 180;
...
end;
************************************
n'est valable que dans une procedure, mais pas en variable globale
JP
20 avril 2009 à 11:41
cette source est bien plus "globale" que tout ce que j'ai pu trouver ou faire sur ce sujet. Et en plus, c'est rapide!
JP
20 avril 2009 à 10:29
Merci pour cette source très intéressante. Pourrais-tu m'expliquer un peu plus en détail où se trouve la surcharge du TBitmap ?
J'avais vu, il y a déjà un bout de temps, une source très utile de DelphiProg qui permet de "dériver" des composants en déclarant un type sur une unité TComboBox = Class(MonCombo.TComboBox).
Du coup, j'ai fait quelques unités pour ajouter des fonctions à certains composants (CheckListBox, DateTimePicker, IDFTP...). Mais je suis obligé d'appeler cette dérivation sur chaque unité où je pose ces composants.
Ta méthode me semble permettre d'enregistrer définitivement les modifications de la classe. J'aimerais donc bien comprendre comment tu fais pour essayer de l'appliquer à mes modifs de composants.
Pour illustrer (et éclairer ?) ma question, je joins un exemple de modif du IDFTP
unit UMdf_IDFTP;
interface
uses IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP;
type
TIdFTP = class(IdFTP.TIdFTP)
Published
procedure LockDir(ADir : String);
procedure UnlockDir(ADir : String);
end;
implementation
procedure TIdFTP.LockDir(ADir : String);
begin
Site('CHMOD 555 '+ ADir);
end;
procedure TIdFTP.UnlockDir(ADir : String);
begin
Site('CHMOD 755 '+ ADir);
end;
19 avril 2009 à 16:43
en effet , c'est bien différent ^^
j'ai pas delphi ici mais je garde sous la main ;)
Nico
18 avril 2009 à 23:50
Bon j'espère que cette source sera plus intéressante :)
Cordialement, Bacterius !
18 avril 2009 à 22:52
Cordialement, Bacterius !
18 avril 2009 à 19:25
quand on reprend un code c'est pour l'améliorer ... pas l'inverse ... non !!!
18 avril 2009 à 18:13
Cordialement, Bacterius !
18 avril 2009 à 17:49
18 avril 2009 à 15:54
Je crois bien que je vais essayer de le reprendre, en utilisant les techniques que j'aurai apprises dans ce source ... je la mets en favoris pour une lecture ultérieure, pas vraiment le temps maintenant ... Mais ça a l'air très intéressant (tout ce qui est image est cool).
Cordialement, Bacterius !
PS : tu as posté cette source graçe à un thread de forum vieux de plusieurs mois ? ^^
18 avril 2009 à 15:18
oui c'est vrai ... j'avais la compression mais un problème lors de la lecture (décompression) du flux sous D7 .. à cause de la ZLib :( j'ai donc retiré cette option mais
avec D2009 ça fonctionne très bien par contre. et la compression est meilleur qu'en PNG
content que ça te plaise ... Merci pour l'appréciation.
18 avril 2009 à 15:09
hahaha
en tout cas c'est pas mal, code propre et utile.