Siteauludo
Messages postés60Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention15 mai 2007
-
2 oct. 2006 à 20:38
Siteauludo
Messages postés60Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention15 mai 2007
-
4 oct. 2006 à 14:43
Bonjour,
J'aimerai faire, en fait, une sorte de logiciel qui remplace une chaîne de caractères par une "chaîne d'images", soit une suite d'images.
par exemple, la chaîne de caractères :
abeoc
deviendrait :
[img1][img2][img3][img4][img5]
Pour cela je pourrais utiliser un richtextbox, mais, bien sûr, il y a un détail :
Je dois pouvoir décaler individuellement les images vers le haut ou le bas.
Par exemple, faire en sorte que [img2] soit 2 pixels plus haut que [img1], et que [img3] soit 2.3 pixels plus bas que [img2], etc...
Une idée d'un contrôle qui ferait ça ?
Au pire, je peux toujours mettre des tas de imageBox (je suis plus sûr du nom, le contrôle qui affiche une image), et faire un screen du tout, mais se serait incroyablement gourmand en ressource (mes chaînes de caractères pouvant être très longues...)
Lutinore
Messages postés3245Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 3 oct. 2006 à 10:02
Salut, je ne suis pas sûr de bien visualiser ce que tu veux.. Plutôt que d'utiliser plusieurs PictureBox créer une classe "Sprite" par exemple, qui contient l'image et sa position et dessine directement sur la forme ou le contrôle.
public struct Sprite
{
private Bitmap bmp;
private Color mask;
private Rectangle bounds;
public Rectangle Bounds { get { return bounds; } }
Lutinore
Messages postés3245Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 4 oct. 2006 à 07:24
Bounds contient la position du sprite en coordonnées client de la forme ainsi que ça taille, ça permet de dessiner le sprite et aussi de passer la position de la souris à la methode Hit pour savoir si la souris se trouve sur le sprite tout en tenant compte d'une couleur invisible via la variable mask ( un fond vert par exemple ).
Un exemple pour utiliser cette structure :
public sealed class MainForm : Form
{
private List< Sprite > sprites = new List< Sprite >( );
Siteauludo
Messages postés60Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention15 mai 2007 2 oct. 2006 à 20:40
Précision :
"Au pire, je peux toujours mettre des tas de imageBox "
ça veut dire que je pourrait faire une form spéciale qui ferait que de me générer des imageBox (!), une pour chaque image, et me les places individuellement sur elle-même (sur la form donc).