2009-03-05 7 views
2

Dans ASP.NET, si j'ai une zone de texte multiligne (ou même une zone de texte enrichie tierce), puis-je convertir son contenu en image pendant la publication? En convertissant je veux garder le format & contenu dans l'image. Par exemple, j'ai une riche zone d'édition, l'utilisateur final peut y ajouter directement des polices de caractères et des symboles, une fois qu'il a cliqué sur "soumettre", est-il possible de sauvegarder ce contenu en tant que bitmap? ou y a-t-il une telle boîte d'édition riche tierce partie ayant cette fonctionnalité intégrée?Est-il possible de convertir un contrôle ASP.NET en une image à la volée?

Je suppose qu'il pourrait avoir besoin de GDI + ou WPF, mais ne sais pas par où commencer.

Répondre

0

Ceci est un exemple de code vraiment méchant et moche, mais il couvre tous les concepts en une seule fois: How to Create (a) Text Image on the fly with ASP.NET.

Essentiellement ceci est fait en créant un nouveau System.Drawing.Bitmap et en utilisant System.Drawing.Graphics.DrawString(text). Cela nécessite d'estimer la taille de la chaîne dessinée et de s'assurer que votre toile est assez grande; mettre en place des polices et autres, mais dans l'ensemble, c'est assez simple une fois que vous le faites à quelques reprises.

1

Je ne suis pas sûr que la réponse précédente vous a posé problème. Vous voulez capturer ce qui est affiché dans la fenêtre des utilisateurs finaux (c'est-à-dire les navigateurs), n'est-ce pas? Et puis vous voulez poster BMP sur votre serveur. Vraisemblablement, vous voulez faire cela parce que l'utilisateur final peut avoir un support de police etc que vous n'avez pas, ou que vous voulez montrer cette image à d'autres utilisateurs qui n'en ont pas.

Je suis assez sûr que ce n'est pas possible dans un navigateur. Cela ressemble à quelque chose qui devrait être difficile aussi (je détesterais voir des sites Web qui pourraient facilement capturer des zones de ma fenêtre de bureau et les poster en arrière). Je suppose que vous êtes dans le domaine de l'écriture de votre propre contrôle ActiveX/Silverlight/Flash, mais vous devriez considérer si c'est une bonne chose à faire - avez-vous le contrôle sur vos navigateurs (en d'autres termes, pouvez-vous garantir la version du navigateur? et OS que vos utilisateurs ont)? Si ce n'est pas le cas, vous pourriez constater que l'obtention d'un contrôle de capture d'écran fonctionnant sur toutes les parties de la matrice OS/navigateur est plus de travail que cela en vaut la peine. Peut-être que si vous développez votre problème, une meilleure solution peut être trouvée ou, plus probablement, une approche totalement différente.

Questions connexes