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
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|