MiharbiDoNo
Messages postés150Date d'inscriptiondimanche 17 mai 2009StatutMembreDernière intervention25 mai 2012
-
26 août 2009 à 04:18
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009
-
31 août 2009 à 10:46
j'essais de faire un petit programme qui permet d'extraire une icone dans un picturebox, et la sauvegarder dans un fichier ico.
tous marche bien, on commence par ouvrir un ficher :
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
Dim MyIcon As Icon = Nothing
MyIcon = Icon.ExtractAssociatedIcon(OpenFileDialog1.FileName)
PictureBox1.Image = MyIcon.ToBitmap
End If
premiere partie, parfait.
maintenant quand je click un bouton :
Dim sfd As New SaveFileDialog
sfd.Filter = "*.ico|*.ico"
If Not PictureBox1.Image Is Nothing Then
If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim file As FileStream = New FileStream(sfd.FileName, FileMode.OpenOrCreate)
MyIcon.Save(file)
file.Close()
MyIcon.Dispose()
End If
End If
ok. lr probleme que la qualité de l'icone est trop mauvaise. je remarque que la taille du fichier est à 700 octets presque. même si on vois bien l'icone dand le picturebox en haute qualité, mais c'est foutu après le sauvegarde.
ce code est genial parceque il me permet de créer une icone bien determiné (32*32, une seule image) mais le problem c'est la qualité.
quelqun peut m'aider?? merci.
A voir également:
Lorsque vous diffusez des annonces sur un moteur de recherche, si votre enchère est identique à celle de votre concurrent et que votre niveau de qualité est supérieur, où votre publicité s'affichera-t-elle par rapport à la sienne ?
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 28 août 2009 à 08:48
Avec un 8088 on peut pas le voir. C'est pour les nouvelles licenses. Et le pb de couleur c'est rien à coté des ennuis sur ma nouvelle machine. J'ai repris le vieux modèle avec un disque dur à la place de la Flash: je vois un peu moins les défauts.
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 29 août 2009 à 23:00
On devait être très fatigués: Si je remplace le système de sauvegarde de texte (FileStream) par pictureBox.image.save
If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
PictureBox1.Image.Save(sfd.FileName)
Ca marche trés bien. Faut laisser l'extension ico.
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 30 août 2009 à 18:44
Coller l'image dans Paint
Public Class Form1
Dim Mycon As Icon = My.Resources.Filicon
Private Sub Form1_Load() Handles MyBase.Load
PictureBox1.Image = Mycon.ToBitmap
Dim DataFormat As String = DataFormats.Bitmap
Clipboard.SetData(DataFormat, Mycon.ToBitmap)
End Sub
End Class
Mais pas l'icone sur le bureau.
En plus si je renomme une icone avec le nom qui a servi préalablement pour les essais, je perds la couleur. si je remet un autre nom, la couleur revient. On dirait que windows enregistre l'adresse du fichier exprès pour casser les pieds.(surement dans le registre)
Peut-être la fonction stream fonctionne bien.
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 30 août 2009 à 19:19
RECYCLAGE.
On doit trouver une solution: Il faut penser à tous ces pauvre gens qui misent leur carrière sur une suite bureautique qui repose sur une gestion de fichiers et un boot qui fonctionne pas sur un support amovible.
Avec les nouvelles technologies (la ram flash et le cable optique) il est temps de reprendre à partir de la console et remplacer le multi-usage d'un poste par un système de support amovible où chacun serait "root" ou "réseau" suivant ses primitives, et pour encourager le développement de processeurs spécialisés et pas seulement pour l'affichage, mais aussi pour toutes les parties de l'ordinateur qui sont moins amusantes à développer. Qu'est-ce qui se passerait si on remplacait les claviers par des reconnaissances vocales? En France vous risquez rien: vous n'avez même pas le droit de vendre des téléchargements de vidéos en dehors du territoire et du karaté. (en Anglais c'est gratuit, comme microsoft agent). Et quand un étranger dit "Napoléon", il ne parle malheureusement pas de code.
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 30 août 2009 à 20:05
Je ne vois plus qu'une solution, mais c' est du bricolage (faudra l'encapsuler au propre je saurais jamais faire ca)
j'explique l'idée:
-Puisque Widows veut absolument garder le contrôle absolu de ses icones, on a qu'a lui coller le "BB"
.
On trouve un Api qui copie les fichiers (je perds confiance
dans le framework) on fait une copie de la ressource (je signale au passage que j'en ai profité pour mettre la ressource dans la barre à la place de l'icone de la form)
On paste la ressource avec un Api, et on change la ressource de la ressource CAD le bitmap, ressource du fichier d'icone par celui qu'on veut. (avec un Api)
Je voulais ajouter l'icone de notifiation avec un petit menu coller pour les essais, mais j'ai peur de surcharger le code.
Cordialement Nic.
Si quelqu'un sait ou trouver l'api, j'ai l'impression qu'il en manque sur mdsn, en particulier pour sauver les métafiles de bitmaps (c'est surement ca les fichiers d'icones, mais le pb viens que le gestionaire de fichiers doit impérativement se mettre à jour chaque fois qu'on bricole une icone.... que j'ai hate d'encapsuler ca.)
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 30 août 2009 à 20:34
Mdsn passe en revue chacun de ses types de base: je l'ai déjà fait manuellement sans résultat (pourtant il y a bien qqchose (une icone) dans le pressse papier, mais j'ai un message de l'interface à fenêtres qui reconnait pas le type.
Londonic
Messages postés298Date d'inscriptionjeudi 22 janvier 2009StatutMembreDernière intervention26 septembre 2009 30 août 2009 à 21:09
Ca m'ennerve.
http://msdn.microsoft.com/en-us/library/ms649013(VS.85).aspx Un de ces formats, est le type de données pour crayon optique. Certainement un fournisseur qui a fait le travail. Pour des icones, j'aurais défini, dès windows_1.0 un type standard à tout faire pour stocker les dessins. En bitmap car Bill est pas du genre "vectoriel" sinon Il aurait pas sous-traité ses programmes de jeu d'échec à Alexis. On avait tellement peur de la concurence d'apple avec sa souris qu'il a peut-être planqué le gestionnaire PRIVATE, mais comme il pouvait pas travailler tout seul, il y a forcément un Api pour paramètrer. (Genius doivent savoir, la Genius mouse était réputée avant que microsoft le fabriquant de souris, les écrase de sa concurence, et elle pointait tout ce qu'on voulait. Ils offraient le hook avec la souris. manquait plus que les dessins) Bill aurait la manie de tout vouloir controler que ca m'étonnerais pas, mais on lui pardonne volontier du moment qu'on peut manipuler facilement les icones.
J'espère qu'on va pas devoir écrire un pilote pour les icones. Ce serait ridicule: c'est déjà des fichiers qui seraient à accés direct si toutes les icones étaient de la même dimension. Mais ça parait tellement monstrueux de gérer une liste de fichiers à accès direct de matrices carées de pixels de taille multiple que si je devais faire ca j'aurais pas fixé des limites de un, deux, ..n puissance deux octets. C'est plus facile de faire un éditeur graphique conventionnel. Non. Les icones sont certainement enregistrées au format binaire avec un entête plus simple, et facile a copier dans un bitmap puisqu'injectif.