Comment puis-je copier un graphique de l'image dans le presse-papiers à l'aide de C#2010?
Je suis en train d'apprendre le C# comme je l'ai écrit un programme qui s'interface avec un spectromètre. J'ai compris comment faire pour obtenir un spectre à partir du spectromètre et de tracer sur un graphique MS.
Comment puis-je copier l'image du graphique dans le presse-papiers, de sorte qu'il peut être collé dans d'autres programmes?
Je suis à l'aide de Visual Studio C# 2010.
J'ai trouvé la carte.SaveImage méthode, mais j'aurais vraiment préféré copier l'image dans le presse-papiers plutôt que d'avoir à les enregistrer sur le disque dur. Je n'ai pas trouvé un graphique.CopyPicture méthode.
J'ai aussi découvert comment copier les données brutes dans le presse-papiers sous forme de chaîne, qui peut ensuite être collé dans une feuille de calcul Excel et tracées, mais je préfère juste de copier l'image elle-même.
Supplémentaire de données:
Je suis en mesure de copier l'image dans le presse-papiers en utilisant le code suivant:
spectrumChart2.SaveImage("Image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Image img = Image.FromFile("Image.jpg");
System.Windows.Forms.Clipboard.SetImage(img);
Il y a sûrement moyen d'obtenir de l'image directement du presse-papiers sans l'enregistrer et de le récupérer à partir d'un fichier de disque en premier. S'il vous plaît, s'il vous plaît laissez-moi savoir comment cela est fait (avant que l'un de mes collègues de travail conclut que cette bidouille)!
OriginalL'auteur Curt | 2010-01-04
Vous devez vous connecter pour publier un commentaire.
Pour obtenir de l'image à partir du tableau de contrôle, l'enregistrer dans la mémoire des flux, de créer des images bitmap et ensuite l'envoyer vers le presse-papiers:
Peu de problèmes: Les étiquettes habitude de se présenter de cette façon. L'étiquette de la zone sera peint en noir pur qui semble laid comme l'enfer. J'ai joué un peu autour et a trouvé peu de changement. La modification de votre réponse, check it out! Havnt connu de cette façon avant, upvoted.
OriginalL'auteur pascon
Utiliser la méthode statique...
OriginalL'auteur Tim Jarvis
Je suis en sauvegardant le graphique des images comme metafile (EMF) par l'intermédiaire d'un flux de mémoire. Je veux conserver l'original de la résolution de l'image et de préserver la possibilité de dissocier les images vectorielles et les modifier dans PowerPoint. Récemment, j'ai mis à une très haute résolution de l'ordinateur portable et j'ai trouvé que l'image du graphique a été cadré avec beaucoup d'espace vide. Si je colle l'image dans PowerPoint ou Word, l'image collée sera très faible. Le recadrage et le redimensionnement manuellement n'est pas satisfaisante, et je ne veux pas avoir à rétrograder la résolution de mon écran pour obtenir les images pour coller plus. Voici la solution que j'ai trouvé (ci-dessous).
Je suis en utilisant VB.Net 2008, de sorte que le Graphique.Méthode Clone n'était pas disponible. J'ai eu à mettre en œuvre une fonction distincte de cloner la carte, mais si vous avez une version plus récente de Visual Studio, vous pouvez décommenter la ligne ci-dessous et supprimer les CloneMSChart de la fonction et de la ligne de référence. Voici les références vers les sites internet que j'ai utilisé pour trouver la solution:
Comment cloner un graphique
Exportation d'une image en haute résolution
et voici la solution composite:
'-------------------------------------------------------------
'------------------------------------------------------------
'-------------------------------------------------------
OriginalL'auteur Robert Cody