2010-08-03 3 views
0

à des fins d'apprentissage Je voudrais savoir comment implémenter une visionneuse d'image (et/ou) pdf par moi-même.Comment implémenter une visionneuse d'image ou de pdf?

Je suis intéressé par l'approche générale pour mettre en œuvre une telle chose. Je ai déjà lu sur les différents formats sur le net (tiff/pdf) donc j'ai découvert que ces fichiers ont un format spécial qui décrit où je dois chercher un en-tête, où le pied de page est et où l'information de l'image (sous forme décryptée) est. Parce que je pense qu'une telle visionneuse fonctionne sth. comme:

  • ouvrir le fichier
  • autre lecture de l'information de fichier (en-tête, pied de page, etc.)
  • positions de pixels "traduire"

Je dois savoir, comment obtenir le pixel positions (dans le cas d'un fichier tiff).

Comment créer ceci comme contrôle? Où dois-je mettre les pixels? N'hésitez pas à me corriger si je me trompe, car ATM je n'ai pas vraiment d'idée et tout n'est que spéculation.

Cordialement,

inno

P.S .: Je préférerais une solution en C#, mais si elle est dans une autre langue, il est ok aussi. La plateforme devrait être Microsoft Windows (tout d'abord).

P.P.S .: Cela devrait fonctionner sans une application PDF/visualisation déjà installée.

Répondre

1

Pour tout spectateur comme celui-ci, vous devrez rechercher les spécifications pour chaque type de fichier que vous voulez afficher et comprendre comment ses données sont codées. Certains formats d'image s'appuient sur d'autres ou utilisent des techniques de codage similaires, tandis que d'autres sont complètement différents les uns des autres. PDF est une autre bête. J'ai fait un peu de travail et de ce dont je me souviens (je peux me tromper, ça fait longtemps) il se représente comme une série d'objets, chacun avec une position unique, une taille et des attributs assortis dépendant du type d'objet .

Je voudrais jeter un oeil à Wikipedia. Il a en fait de très bons articles sur certains des différents formats d'image.

http://en.wikipedia.org/wiki/JPEG

Et il va certainement vous indiquer les documents de normes officielles pour chaque format que vous souhaitez couvrir.

En fin de compte, vous finirez probablement avoir à lire/mettre en œuvre le rfc pour chaque format:

JPEG - http://tools.ietf.org/html/rfc1341
PNG - http://www.faqs.org/rfcs/rfc2083.html
GIF - http://www.w3.org/Graphics/GIF/spec-gif89a.txt
BMP - http://www.faqs.org/rfcs/rfc797.html

HTH

0

Voici le moyen de convertir votre image en tableau d'octets.

public byte[] imageToByteArray(System.Drawing.Image imageIn) 
{ 
MemoryStream ms = new MemoryStream(); 
imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); 
return ms.ToArray(); 
} 

Comment créer ceci comme contrôle? Où dois-je mettre les pixels? Ce tableau d'octets contient les données de pixels de votre image (voir votre type d'image 8 bits ou 16 bits) Vous pouvez maintenant dessiner vos images dans n'importe quel panneau et en faire un contrôle personnalisé.

Je ne connais pas le format pdf.

Questions connexes