begin process at 2010 02 10 13:49:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

SQL Server

 > 

Coller une image dans un objet tdbimage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Coller une image dans un objet tdbimage

dimanche 19 novembre 2006 à 19:22:19 | Coller une image dans un objet tdbimage

famjerom

J'ai créé une base de donnée SQL SERVER.
Une table contient une image (type image ou varbinary) affichée à l'aide de l'objet VCL TDBImage de Delphi 2005.
 
Je souhaite que l'utilisateur puisse ajouter des images.
Je n'ai pas eu de problème pour charger à partir d'un fichier (transfert à l'aide de stream) de nombreux formats de fichier.
 
Le problème se pose pour les copier coller (depuis photoshop ou une image sur une page web).
 
J'obtiens "paramètre non valide utilisé" quelle que soit la méthode. Erreur qui reste quand les données sont enregistrées dans le BLOB.
 
J'ai fait des essais en collant directement l'image dans le contôle avec la souris, en faisant assign(clipboard), en utilisant un objet Tbitmap intermédiaire, etc
 
Après recherche, le problème vient du fait que l'image stockée dans le presse-papier est au format bitmap (il y a bien l'entête à $424D) 32 (ou 16) bits par pixel. Or TDBImage n'accepte que 1, 2, 8 ou 16 bits par pixel. D'ailleur Photoshop fait pareil et une image obtenue par coller et enregistrée directement sur disque par savetofile n'est pas lisible par photoshop.
 
J'ai voulu utiliser la propriété Pixelformat qui change le format de l'image (ca se voit, photoshop lit l'image) pour forcer à 24 bit et mettre HandleType à bmDIB mais j'ai toujours la même erreur.  
 
Y a-t-il encore un paramètre caché à changer? 

C'est TDBimage qui a un problème, Timage fonctionne correctement avec touts les formats.
 
PS: j'ai essayé les méthodes draw et LoadFromClipboardFormat sans succès
Même sauvegarder l'image dans un fichier ne lui fait pas perdre son caractère anti SQL SERVER.
 
Merci de votre aide.  
dimanche 19 novembre 2006 à 19:34:35 | Re : Coller une image dans un objet tdbimage
dimanche 19 novembre 2006 à 21:04:25 | Re : Coller une image dans un objet tdbimage

famjerom

En fait c'est le composant TDBImage qui pose un problème:
  Il me dit "paramètre non valide utilisé" lorsqu'il doit lire ou écrire une image bitmap 32 bits

Si j'utilise un composant tImage et que je fait la lecture écriture "à la main", ça fonctionne correctement.

Bug ou erreur de ma part?

J'épluche le source quand même à tout hazard.

Merci
dimanche 19 novembre 2006 à 22:39:44 | Re : Coller une image dans un objet tdbimage

Delphiprog

Administrateur CodeS-SourceS
Bonsoir famjerom.
Est-ce un oubli de ta part ou tu n'as pas encore essayé la méthode PasteFromClipboard de TDbImage ?


May Delphi be with you !

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.

dimanche 19 novembre 2006 à 23:07:06 | Re : Coller une image dans un objet tdbimage

famjerom

Je viens de la faire mais ça ne change rien.
C'est normal car si on fait ctrl C puis Ctrl V dans le controle DBImage ça appelle PasteFromClipboard.

Après des centaines d'essais, c'est bien précisément quand la commande post est exécutée avec une image arrivée dans TDBImage par copier coller qu'il y a erreur.
Pas au moment du coller.
Et même si l'image a été enregistrée dans un fichier à partir d'un TImage.loadtofile et lue par tdbimage.loadfromfile.

Copie des sources à suivre.

dimanche 19 novembre 2006 à 23:47:47 | Re : Coller une image dans un objet tdbimage

famjerom

if Clipboard.HasFormat(CF_BITMAP) then
begin
   Table_informations.Edit;
   DBImage.PasteFromClipboard;
   Table_informations.Post;
end;

Erreur au momment du post.
dimanche 19 novembre 2006 à 23:56:54 | Re : Coller une image dans un objet tdbimage

famjerom

Par contre:

Table_informations.Edit;
TImage.Picture.LoadFromClipboardFormat(CF_BITMAP, Clipboard.GetAsHandle(CF_BITMAP), 0);
TImage.Picture.savetofile('essai.bmp');
DBImage.Picture.bitmap.LoadFromfile('essai.bmp');
Table_informations.Post;

Fonctionne!!!!!!!!??


Cette discussion est classée dans : problème, objet, image, coller, tdbimage


Répondre à ce message

Sujets en rapport avec ce message

déplacement d'une image dans un objet Timage [ par ninaleo ] Bonsoir tout le monde    J'ai un petit problème pour lequel je ne trouve pas  de solution évidente et j'aimerais vous le soumettre.    J'ai un objet T Copier une image du TWebbrowser et la coller dans un TImage [ par JuaniBouc ] Bonjour à tous, je commence par situer l'histoire : je charge dans un TWebBrowser une page web contenant des JPEG.Mon but est de pouvoir afficher un d Problème avec StringGrid [ par f6dqm1 ] BonjourPetit problème sur lequel je bloque depuis un petit momentJe colle une image dans une cellule d'un StringGrid par clic gauche de la souris.Lors problème avec Image Gif sur Delphi [ par debiars87 ] Bonjour à Tous !!Hier j'ai télécharger les Composants JVCL Pour une simple raison (( elle contienne un composant: JvGIFAnimator ))J'ai ajouté à ce com Timage et plein ecran [ par toutepetitesouris ] bon voila mon problème :)que je met mon form en plein écran l'image que j'ai mise en fond ne suit pas les bords du form...en fait je ne sait pas comme Urgent Petit Problème [ par ff1061 ] Bonjour Tout Le Monde, J'ai un petit programme tout simple, et a ce programme j'aimerais bien ajouté un bouton avec une image bitmap, jusque la, ca va Modifier les octets d'un objet [ par Matware456 ] Salut, c'est encore moi ! ^^Voilà maintenant que j'ai enfin réussi à stocker mon Bitmap dans un fichier mappé, je cherche maintenant à modifier les by Afficher une image svg dans un objet fximage [ par ludo2223 ] Bonjour,Je souhaite afficher une image au format SVG dans un composant fximage sous Delphi 7. Comment faut-il s'y prendre ?Existe-il un composant qui Problème de copier/coller de composants à la création [ par orelien ] Bonjour,Mon problème est que je n'arrive pas à copier/coller des composants sur ma fiche au moment de la création.Une option/ un paramètre à dû être d Découpe d'un 'objet 3D' sous GLScene [ par Champy33 ] Bonjour à tous et à toutesJe me suis lancé dans la fabrication bénévole d'un logiciel qui servira à faire des plans de meubles au sein de l'associatio


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,515 sec (3)

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