begin process at 2012 02 11 21:14:31
  Trouver un code source :
 
dans
 

81 commentaire(s) de DeltaFX sur des sources sur tout CodeS-SourceS

Déposé sur Projets démo du pack de composants cindy v4.30

"Bonjour à tous,

après la détection de différents bugs sur le compos TcySkinButton par DELTAFX, je vous poste la correction...."

TcySkinArea... mdr


Je vais tester :)
Posté le : 09/05/2011 16:21:54

Déposé sur Projets démo du pack de composants cindy v4.30

Hi,

Une petite remarque, en fait. TcySkinArea est en 32bit. Si un bmp en 32bit est plus interressant pour optimiser la vitesse de traitement, les 8bits de différence avec le pf24bit ne codent que pour un alpha channel,un format ARGB où A est un niveau de transparence. Ca ne code pas un format RGB sur 32bit du genre (R:11bit, G:11bit, b:10bit).

De plus, niveau compatibilité avec le format jpg, le pf32bit est à manier avec des pincettes.

Dans le cas de skinarea, je ne suis pas sur que cela soit tres interressant:

1- je pense que c'est la cause du décalage quand je charge qqch dans "Picture"
2- et pour ce composant, j'avoue ne pas voir d'interet a gere en plus l'alpha channel, pour l'instant. Si tu envisage de gerer des effets de transparence entre picturenormal, down, downmouseover, etc, là cela sera nécessaire.

Tchô :)
Posté le : 02/05/2011 23:59:29

Déposé sur Projets démo du pack de composants cindy v4.30

Avec la methode que tu m'as donné, effectivement, ca marche, je n'ai plus le fond blanc autour de mes boutons. Mais vu que j'ai testé ce que je voulais faire avant et que ca marche pas (le cadre blanc là et/ou le décalge des 24/32bit) avec ma méthode, ben je coince.


Mais c'est pô grave en soit, j'ai retrouvé dans une archive ton Pack de Composant version 2005, donc dans le pire des cas, je fais un rollback.
Posté le : 30/04/2011 01:23:58

Déposé sur Projets démo du pack de composants cindy v4.30

Le bout de code que je t'ai mailé a été codé directement avec skinArea, sur une instalation de Delphi 7 "neuve". Y a jamais eu de PictureArea sur cette machine. Dela le fait que je sois tres dubitatif.

Tu me dis que PictureArea parsait aussi les couleurs présentes sur le bmp Area, mais je n'ai jamais constaté ce comportement. De plus, j'utilisais l'Unit PositionByColor (le source est sur ce forum) avec Area, et jamais je n'ai eu de probleme. Dans mon cas, Area Bmp contenait et des zones colorés pour définir les boutons de PictureArea, et des rectangles d'autre couleurs pour PositionBycolor. Voila ce que je faisais dans le OnCreate de la forms d'un lecteur mp3:

...
BuildAreaColorList('.\MP3_MASK.bmp'); // parser les couleurs présentes sur le masque (Area)

PictureAreaMP3.Tag:=RGB(0,0,0); // le rectangle où placer le pictureArea dans la form est noir
PlaceCtrl(PictureAreaMP3); // on definit top,left,width, height du picture area.

cyGauge.Tag:=RGB(255,0,128); // idem pour la gauge
PlaceCtrl(cyGauge);

Matrix.Tag:=RGB(128,0,255);
PlaceCtrl(Matrix);

Total.Tag:=RGB(177,186,69);
PlaceCtrl(Total);

Elapsed.Tag:=RGB(78,69,186);
PlaceCtrl(Elapsed);

PictureAreaMP3.Area.LoadFromFile('.\MP3_MASK.bmp');
PictureAreaMP3.PictureNormal.LoadFromFile('.\MP3_OFF.bmp');
PictureAreaMP3.PictureDown.LoadFromFile('.\MP3_ON.bmp');

PictureAreaMP3.Areas[00].Color:=RGB( 32,  0,  0);
PictureAreaMP3.Areas[01].Color:=RGB(  0,  0, 32);
PictureAreaMP3.Areas[02].Color:=RGB( 64,  0,  0);
PictureAreaMP3.Areas[03].Color:=RGB(  0,  0, 64);
PictureAreaMP3.Areas[04].Color:=RGB( 96,  0,  0);
PictureAreaMP3.Areas[05].Color:=RGB(  0,  0, 96);
PictureAreaMP3.Areas[06].Color:=RGB(128, 0,  0);
PictureAreaMP3.Areas[07].Color:=RGB(  0,  0,128);
PictureAreaMP3.Areas[08].Color:=RGB(128,  0,128);
PictureAreaMP3.Areas[09].Color:=RGB(255,255,  0);
PictureAreaMP3.Areas[10].Color:=RGB(255,  0,255);
PictureAreaMP3.Areas[11].Color:=RGB(255,  0,  0);
PictureAreaMP3.Areas[12].Color:=RGB(  0,255,  0);
PictureAreaMP3.Areas[13].Color:=RGB(  0,  0,255);
PictureAreaMP3.Areas[15].Color:=RGB(128,128,128);
...

Je créais les items 0à15 dans l'IDE, je ne chargeais aucune image depuis l'IDE et PictureArea ne cherchait pas d'autres item "areas" que les 16 ci-dessus. De ce fait il ignorait completement les couleurs utilisées par "Position ByColor".

Vu l'explication que tu me donnes pour le petit prog mailé, je suis obligé de

1-Charger le mask dans Area, et le laisser parser
2-supprimer les items "areas" ne correspondant pas aux boutons que je veux
3-redéfinir les propriétés color des items "areas" dans le bon ordre.

Et meme là ca ne marchera pas, la preuve en est le comportement du prog que je t'ai envoyé.

Tu vois le probleme.
Posté le : 29/04/2011 23:04:07

Déposé sur Projets démo du pack de composants cindy v4.30

[MODE SARCASME ON]
Vachement super... il parse le Area.bmp.....
[MODE SARCASME OFF]

Je fais comment sur une application qui doit charger Area, PictureNormal et PictureMouseDown et les definitions des boutons depuis le disque dur ?

A chaque fois je dois coder la destruction de l'item AREAS correspondant au "fond" de la forme, puis modifier la propriété color de chaque item pour que la bonne couleur soit associer au bon bouton ?

C'est ingérable en dehors de l'IDE.

Posté le : 29/04/2011 20:48:52

Déposé sur Projets démo du pack de composants cindy v4.30

Mail envoyé. :)
Posté le : 29/04/2011 17:55:39

Déposé sur Projets démo du pack de composants cindy v4.30

Salut,

Ben j'ai testé aussi, et figure toi que je me retrouve avec mes 5 boutons parfaitement skinnés et le reste de l'image en blanc alors que Picture normal et pictMouseDown ont un fond différent.

J'ai suivi tes recommandations ci avant : si je ne charge rien dans picture, et que je charge Area avec le bmp idoine dans L'IDE, je me retrouve avec une copie de Area dans Picture... c'est curieux.

De plus, si je fais comme je faisais avec PictureArea, a savoir charger dans "Picture" la partie invariable du skin, alors apparait un décalage dans l'affichage, ainsi que des boutons hachurés, comme si PictureNormal et PictureDown se trouvaient décalés de quelques pixels vers la droite.

C'est étrange. J'ai comparée les sources de SkinArea et PictureArea, il y a des différences dans la gestion du format d'image, PictureArea travaillais avec du 24bit, SkinArea avec du 32bit. Faut-il que je conditionne toute les images en 32bit ?
Posté le : 29/04/2011 16:41:23

Déposé sur Projets démo du pack de composants cindy v4.30

Okay,

Je viens de tester : probleme résolu.

Mais :

1 "Picture" devrait etre en lecture seule.

2 Il ya une différence de comportement avec Picture Area :  Avec PictureArea, une couleur presente sur Area.bmp mais non définie dans Areas était ignorée, donc le fond de l'image restait celui de PictureNormal, et seules les zones définies réagissaient à la souris. SkinArea semble reconnaitre chaque couleur de Area.bmp donc avec 5 boutons sur un fond blanc, je dois définir une zone supplémentaire correspondant au fond, sinon c'est ce fond blanc qui s'affiche autour de mes boutons, et pas le fond de PictureNormal.

Et ce comportement m'empeche d'utiliser simplement ca :http://www.delphifr.com/codes/UNIT-POSITION_BY_COLOR_35264.aspx Je pouvais définir l'emplacement de mes controls par des taches colorés directement sur le masque que je chargeais dans PictureArea, qui ne se préoccupait que des couleurs definies dans Areas.

Voila Voila.
Posté le : 29/04/2011 12:18:39

Déposé sur Projets démo du pack de composants cindy v4.30

En outre, apres un test vite fait sur un nouveau projet, je ne comprend absolument pas à quoi servent "Picture" et "PictureNormale".
Posté le : 29/04/2011 00:12:28

Déposé sur Projets démo du pack de composants cindy v4.30

Hi,

En fait je jetais un oeil à un vieux projet avant d'attaquer la version 2. J'ai déja réadapter le source pour tcySkinArea, donc le temps de reprendre mes marques et tout ira bien.

"Le fichier est quasi-vide" : j'ai donc télécharger le pack de démo 4.12 et dans le repertoire concernant SkinArea, il ya un fichier cySkinArea.rtf
Si j'ouvre ce fichier avec word, ou ultraedit, il ne contient que :

The TcyColorMatrix component

Description

Published properties
?

Events
?

Ce qui ne me semble pas trop correspondre a SkinArea, non ?

Posté le : 28/04/2011 22:00:58

1 2 3 4 5 6 7 8 9


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales