2010-01-06 2 views
2

question dit tout ..comment agrandir une image (tout type) de C# sans perte de qualité

application serait en asp.net et C# (4,0)

+8

Comment agrandir une image sans perte de qualité? Sauf si c'est basé sur un vecteur, bien sûr. –

+3

@klausbyskov: C'est tellement possible. Je l'ai souvent vu sur CSI: "Enhance!" ;-) Est vraiment tranchant aussi ... –

+0

Je pense que c'est intégré dans les Mac qu'ils utilisent sur CSI ... dites simplement "Enhance" et vous obtenez une image HD de 1280x720 à partir de trois pixels ... –

Répondre

6

Si vous agrandissez une image au-delà de son taille originale, vous perdez la qualité. Il n'y a pas de chemin aux alentours. Cela dit, il existe différentes méthodes/algorithmes de redimensionnement, dont certains peuvent présenter moins de dégradation de la qualité que d'autres. Expérimentez avec les paramètres de redimensionnement pour déterminer lequel fonctionne le mieux pour votre situation.

8

Ceci est impossible. Pensez simplement au cas très simple d'un bitmap 10 x 10 avec une couleur 8 bits. Il y a donc 10 * 10 * 8 = 800 bits d'information. Maintenant, essayez d'agrandir cela à un bitmap 100 x 100 avec une couleur 8 bits. Cela nécessite 80000 bits d'information. D'où viendront ces informations supplémentaires? Il existe toutes sortes de méthodes pour essayer de deviner ce que l'information devrait être, mais c'est ce que nous pouvons faire de mieux. Il doit y avoir une perte de qualité car nous ne savons pas quelle devrait être l'information.

Voici quelques schémas d'interpolation:

  1. Nearest neighbor
  2. Bilinear
  3. Bicubic
  4. hq2x

Ces méthodes ont des qualités différentes. Certains conduisent à des déchirures (voisin le plus proche), d'autres conduisent à un ramollissement de l'image (bilinéaire) et d'autres conduisent à ringing artifacts (bicubique).

+0

+1 pour WAY plus de détails :) –

1

Ce n'est pas impossible! Consultez le plug-in Genuine Fractals. Il utilise des "algorithmes d'interpolation basés sur la fractale" pour agrandir une image sans perte de qualité.

Il s'agit d'un plugin pour Photoshop, mais il illustre qu'un agrandissement de haute qualité est en effet possible. (Je me demande s'il est possible de l'invoquer via une application .Net? Hmmm ...)

+0

C'est encore l'interpolation. C'est, c'est encore juste une supposition intelligente. – jason

+0

C'est vrai, c'est encore l'interpolation. Cependant, je l'ai vu utilisé pour produire des graphiques à grande échelle pour les salons professionnels, et les résultats sont fantastiques. Tenez également compte de la distance d'observation. Un graphique de panneau d'affichage peut ne pas sembler grand à partir de 10 "de distance ... mais semble bien vu d'une distance plus appropriée. –

Questions connexes