stephkaiser
Messages postés6Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention 2 mai 2005
-
18 avril 2005 à 16:08
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
30 juin 2005 à 22:35
J'aimerais pouvoir decouper une image dans une picturebox . Faire un genre de maillage et pouvoir traiter chaqe petit bout d'image.
Est ce possible de faire ceci et si oui comment.
Merci j'attend des reponces avec impatience
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 12:28
bonjour,
j'ai apparemment les même besoins que vous. la solution que DarkSidious a donné est fonctionnelle et rapide, mais ne fonctionne que pour une PictureBox en résultat.
API : BitBlt PIC_TEMP.hDC, 0, 0, 50, 50, PIC_ALL.hDC, 0, 0, SRCCOPY
(SRCCOPY=&HCC0020 en constante)
quelqu'un a une idée pour que le résultat arrive directement dans une Image? (qui ne contient donc pas de hDC) et en peu de lignes? (et pas de : "bah tu fais IMG_TEMP.Picture = PIC_TEMP.Image" )
PCPT
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 13:06
en fait, si, on peut. je cherche depuis hier, je viens de terminer à la seconde. j'en ferais une mini source aujourd'hui ou demain, çà servira sans doute à plus d'un. le problème est que çà fait beacoup de lignes et d'appels d'API pour pas grand chose, c'est çà qui m'embête!
tiens-moi tout de même au courant si tu trouves plus simple, çà m'interesse (même si le temps d'execution et les ressources utilisées me conviennent avec ce module )
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 13:32
arf, j'ai peut-être parlé trop vite.
çà fonctionne bien pour les petites images (donc parfait pour moi) mais à plus grande échelle, c'est pas une solution fiable, il y a un gros décalage dans la reconnaissance de zones, et comme le résultat n'est pas par rapport à la picture mais à sa position sur l'écran, je me retrouve avec un morceau de la barre des tâches (par exemple) en résultat.
@ travailler, je tiendrais les lecteurs au courant
PCPT
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 13:37
en fait, mon utilisation est toujours pour mon foutu OCX dont on a déjà parlé (je crois). ma skin est générée morceau par morceau, mais comme je compte encore la couper (pour avoir des formes encore plus diverses), je voulais regrouper la création des boutons (3 états) dans la même bmp, et la découper ensuite. (plus facile à créer, et moins fastidieux pour les adèptes de Paint )
et le peu que j'ai lu sur les régions, çà ne me convient pas. à moins que tu aies une solution ou un exemple simple? (j'ai besoin des résultats dans des Images, pas des Pictures, comme tu t'en doutes)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 30 juin 2005 à 13:51
Attention, avec cette source, tu te base sur le DC 0, c'est à dire,
l'écran, donc les coordonnées sont des coordonnées Ecran et pas des
coordonnées clientes !
Si tu veux des coordonnées clientes, utilise la fonction de l'API ScreenToClient.
Le fait de regrouper les images dans un même fichier est pas forcément
plus pratique pour l'utilisateur, par contre, ca complique et ca
ralentit pas mal l'utilisation (puisque tu es obligé de travailler sur
l'image avant de l'afficher !).
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 14:12
umm, étrange :
sur écran 19" en 1280*1024 = ok, c'est bon pour toutes les images, tant que la pic est visible (donc çà n'ira pas pour l'OCX, puisque pas encore visible à l'écran, mais bref)
et testé sur écran 17" en 1024*768, nikel aussi....
(donc étrange pour ScreenToClient non-utilisé ; sans bug)
quoi qu'il en soit, le fait qu'il faille l'affichage avant, çà ne me convient pas :-\
pour le fait de "compliquer volontairement", c'est un compromis réfléchi. mes skins contiennent pour le moment déjà plus de 25 images, et c'est loin d'être terminé. donc je voudrais, à faible ralentissement, regrouper au moins les états des images commandes (agrandir, réduire, ...) dan une même image. pour la création de la skin, c'est plus pratique. (c-a-d "réduire up down focus" ensemble, etc...)
les autres skins, ou même juste les petites appli qui utilisent des boutons séparés, mais dans la même bmp, utilisent les régions? tu peux m'informer ou me redirigé à ce niveau?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 30 juin 2005 à 14:43
Alors, pour ton problème d'affichage, il te suffit d'utiliser un autre
DC que le DC 0 pour éviter ce problème : charge ton image dans un DC
temporaire (un picturebox par exemple), et utilise le en lieux et place
du DC 0.
Pour un système de skins, en effet, c'est des régions qui sont
utilisées. Les régions consiste à "découper" une feuille de la forme
voulue (généralement, il s'agit d'images avec une couleur de
transparence). Le plus important pour c'est application, c'est la
rapidité de traitement : si l'interface devient trop lourde,
l'application devient vite inutilisable.
Il faut essayer de ne pas utiliser de trop grosses images aussi pour ne pas à avoir à traîter trop de pixels.
Je te conseille de regarder ma source de gestion d'image, et celle de découpage rapide de feuille, ca peut t'aiguiller déjà.
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 30 juin 2005 à 22:35
j'ai regardé tes sources (conseillées), elles ne me sont malheureusement d'aucun secours.
je n'ai pas encore regardé pour le DC par contre, je verrais çà plus tard dans la nuit.
pour les régions, c'est bien ce que j'en pensais, et c'est donc pourquoi je me suis écarté de cette voie. en effet, je n'ai pas besoin de "couper" la forme, mais juste de superposer des images dessus.
il fonctionne tant que rien ne gène la visibilité de PIC_ALL (droite). il est fourni avec le type d'exemple dont j'ai besoin, mais je l'ai réajusté en me basant sur une image de 510*431.
le résultat est immédiat.
je voudrais néanmoins une solution plus courte, et sans passer par une PIC intermédiaire.
tiens, tant qu'on y est, sais tu comment reproduire une image plusieurs fois sur son axe, dans une IMAGE (toujours). donc pas étirer, mais dupliquer en fait, dans l'image....