Accueil > Forum > > > > Une image en background
Une image en background
lundi 22 mars 2004 à 19:36:36 |
Une image en background

Eric84
|
Salut J'aimerais savoir comment mettre une image en background sur ma listview (la listview est sur une image plus grande, et il faudrais que la section caché devienne le background en couleur plus pale) J'ai vu sur le forum une question semblable qui parlais de TRect mais je sais pas trop comment m'y prendre. Quelqu'un peut m'aider ? Merci
|
|
mercredi 24 mars 2004 à 17:47:15 |
Re : Une image en background

Kenavo
|
Salut, Tu peux essayer ça
procedure TForm1.ListView1CustomDraw(Sender: TCustomListView; const ARect: TRect; var DefaultDraw: Boolean);
var rect : TRect; Image : TImage; i,j : Integer; col : TColor ;
procedure eclaire(var col : TColor); var r,v,b : byte; begin r:=col mod $100; // extraction du rouge v:= ( col shr 8 ) mod $100; // ...du vert b:= ( col shr 16 ) mod $100; // ... du bleu r:= (r+$ff) div 2; // mélange avec du blanc v:= (v+$ff) div 2; b:= (b+$ff) div 2; col := r + $100 * v + $10000 * b; // nouvelle couleur end;
begin Rect.Top := Listview1.Top+2; Rect.Bottom := Rect.Top + Listview1.ClientHeight ; Rect.Left := Listview1.Left+2; Rect.Right := Rect.Left + Listview1.ClientWidth ; Image := TImage.Create(self); Image.Width := Arect.Right-Arect.Left+1; Image.Height := Arect.Bottom-Arect.Top+1; Image.Canvas.CopyRect(ARect,Image1.Canvas,Rect); for j:=0 to Arect.Bottom-1 do for i:=0 to Arect.right-1 do begin col := Image.Canvas.Pixels[i,j]; eclaire(col); Image.Canvas.Pixels[i,j] := col; end; ListView1.Canvas.CopyRect(Arect,Image.Canvas,ARect); Image.Free end;
Explications :
-Rect est le rectangle de l'image de fond (Image1) derrière le Listview -On copie cette zone dans Image (TImage temporaire) -Pixel par Pixel on modifie les couleurs d'Image (fonction Eclaire) -On recopie Image modifiée dans le canvas de ListView
J'ai pas mieux !
Kenavo
Code, Code, Codec !
|
|
jeudi 25 mars 2004 à 04:29:42 |
Re : Une image en background

Eric84
|
Ouais ca fonctionne, sauf, c'est normal qu'on puisse pas utiliser les jpg ? Il ne semble accepter que les bitmap.
Et c'est normal si ca semble lagger lorsqu'on clique sur un élément de la listview ? (licone cliquer disparais pendant 1-2 seconde et réapparais par la suite)
Merci
|
|
jeudi 25 mars 2004 à 12:03:39 |
Re : Une image en background

Kenavo
|
Ben oui,
La fonction CopyRect ne fonctionne pas avec les Jpeg.
Le temps doit provenir des appels à la fonction Pixels qui est très lente. tu peux essayer en virant les boucles for
Si quelqu'un connait un truc !
Kenavo
Code, Code, Codec !
|
|
vendredi 26 mars 2004 à 04:11:11 |
Re : Une image en background
|
samedi 9 avril 2005 à 09:21:07 |
Re : Une image en background

raybane
|
Salut tout le monde, c'est mon premier post, en espérant que ca serve!
procedure TForm1.ListView1CustomDraw(Sender: TCustomListView;
const ARect: TRect; var DefaultDraw: Boolean);
var jpg :TJpegImage;
Bmp :TBitMap;
begin
//création des images
Jpg := TJpegImage.Create;
Bmp := TBitMap.Create;
Try
// on indique le chemin du jpg
Jpg.LoadFromFile('D:\day.jpg');
//on adapte la taille du bmp a celui du listview
Bmp.Width := Listview1.Width;
Bmp.Height := Listview1.Height;
//on étire l'image du bmp
Bmp.Canvas.StretchDraw(Bmp.Canvas.ClipRect,Jpg);
Jpg.Assign(Bmp);
//on assigne l'image au listview
ListView1.Canvas.CopyRect(Arect,Bmp.Canvas,ARect);
Finally
//on libere les ressources
Jpg .Free;
Bmp .Free;
end;
|
|
samedi 10 septembre 2005 à 15:36:48 |
Re : Une image en background

lol_brossier
|
Ca marche tres bien ce code mais avez vous une idée pour que l'mage de fond soit redessiné a chaque changement de dimension de la fenetre ? Parce que pour moi si je modifie la taille de la fenetre ca modife mon image et je voudrais donc qu'elle soit redessiné apres chaque mouvement. Merci
|
|
Cette discussion est classée dans : image, listview, background
Répondre à ce message
Sujets en rapport avec ce message
Listview background image [ par magic123 ]
Salut a tous, Je cherche depuis un moment comment faire pour avoir une image fixe en background dans une TListview... Y'a-t-il une ame charitable pour
listview 2 images dans la meme colonne ? [ par dav999 ]
Salutje voudrais savoir s'il est possible d'afficher plusieurs images dans une colonne de ma listview, pour le moment j'utilise un imagelist et la pro
Image dans une DBGrid [ par rolea ]
Je cherche un moyen d'afficher une image dans la ligne de titre d'un DBGrid.Exemple, je fais une requête avec un tri, et je veux ensuite afficher une
HELP!!! Imprimer image + Autre [ par lorrant ]
Bonjour,Je suis débutant en programmation, et j'ai réalisé un petit programme pour la boîte où je bosse (qui n'a rien à voir dans la programmation...)
Comment ajouter une image BMP dans un fichier RTF [ par patkiller ]
BonjourJe suis un débutant en Delphi. J'ai fait un logiciel destiné à tenir un journal intime.Le logiciel sauvegare le contenu du journal dans un fich
Probleme mouvement d une image [ par hepho ]
Salut,Alors voila mon probleme :Avec un timer regler a 200ms, je bouge le left d une image de 5 a chaque intervalle ( jespere je me suis fait comprend
Image ds 1 TreeView [ par jlg75 ]
j'associe des images aux nodes d'1 TreeView.Pb: modifier l'image qd 1 (ou plusieurs si multiselect) node est selecté . La modif de ImageIndex du node
Affichage rapide d'image [ par zorg63 ]
Désolé pour le tire qui n'est pas très clair, je ne savais pas comment résumer mon problème. Le voici :Je viens de poster une source utilisant l'affic
Images dans StringGrid [ par DAR ]
Dans la 1ere colonne de ma StringGrid je veux mettre une image différente sur chaque ligne (fonction du contenu d'une autre colonne). Les Images sont
image prise par une webcam [ par ludou ]
bonjour voilà je cherche comment on pourrait améliorer la qualités d'une image prise par une webcam et comment on pourrait voir si elle est trop fonçé
Livres en rapport
|
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|