Ho difficoltà a comprendere le differenze tra la classe Image
e la classe Bitmap
. Ora, so che il Bitmap
eredita dal Image
ma da quello che ho capito entrambi sono molto simili. Qualcuno può far luce su questo per favore?Classe Image vs Bitmap
risposta
La classe Bitmap è un'implementazione della classe Image. La classe Image è una classe astratta;
La classe Bitmap contiene 12 costruttori che costruiscono l'oggetto Bitmap da diversi parametri. Può costruire Bitmap da un'altra bitmap e l'indirizzo stringa dell'immagine.
Visualizza altro in this comprehensive sample.
Penso che intendi un'implementazione dell'immagine astratta classe. – kenny
Immagine fornisce un accesso astratto a un'immagine arbitraria, definisce un insieme di metodi che possono essere applicati in modo logico a qualsiasi implementazione di Image. Non è limitato a nessun particolare formato di immagine o implementazione. Bitmap è un'implementazione specifica per la classe astratta dell'immagine che incapsula l'oggetto bitmap GDI di Windows. Bitmap è solo un'implementazione specifica per la classe abstract Image che viene inoltrata sull'oggetto bitmap GDI.
È possibile ad esempio creare la propria implementazione nell'estrazione dell'immagine, ereditando dalla classe Image e implementando i metodi astratti.
In ogni caso, questo è solo un semplice utilizzo di base di OOP, non dovrebbe essere difficile da catturare.
Questo è un chiarimento perché ho visto le cose fatte nel codice che sono onestamente confuse - penso che il seguente esempio potrebbe aiutare gli altri.
Come altri hanno già detto prima - Bitmap eredita dalla astratta Immagine classe
astratta significa in modo efficace non è possibile creare un'istanza di New() di esso.
Image imgBad1 = new Image(); // Bad - won't compile
Image imgBad2 = new Image(200,200); // Bad - won't compile
Ma è possibile effettuare le seguenti operazioni:
Image imgGood; // Not instantiated object!
// Now you can do this
imgGood = new Bitmap(200, 200);
è ora possibile utilizzare imgGood come si farebbe lo stesso oggetto bitmap se si fosse realizzato il seguente:
Bitmap bmpGood = new Bitmap(200,200);
Il bella cosa qui è che puoi disegnare l'oggetto imgGood usando un oggetto Grafica
Graphics gr = default(Graphics);
gr = Graphics.FromImage(new Bitmap(1000, 1000));
Rectangle rect = new Rectangle(50, 50, imgGood.Width, imgGood.Height); // where to draw
gr.DrawImage(imgGood, rect);
Qui imgGood può essere qualsiasi oggetto Immagine - Bitmap, Metafile, o qualsiasi altra cosa che eredita da immagine!
- 1. Come convertire Bitmap in Image
- 2. Bitmap vs ImageView vs Drawable
- 3. Dockerfile vs Docker image
- 4. Prestazioni di Bitmap Immagine vs ImageBrush
- 5. UIImageView vs UIView w/Image - efficienza
- 6. Utilizzo della classe EffectFactory su bitmap - Android
- 7. benchmark selezione vs classe vs
- 8. ZipPackage Classe vs classe Zipfile
- 9. .NET OCRing Image
- 10. bitmap PrintWindow differisce da PrintScreen bitmap Key
- 11. conversione veloce Bitmap in Bitmap Origine wpf
- 12. Classe classe - metodi istanza vs. classe
- 13. Animazione sfocatura Android Image
- 14. La compressione bitmap non modifica la dimensione byte bitmap
- 15. Tipi di input Form HTML accessibili - "submit" vs "image"
- 16. <img> vs <image> tag in HTML
- 17. AsyncTask loading image RecyclerView
- 18. C# Image Generator - Slow Performance
- 19. Classe VS ref Struct
- 20. vs. classe helper
- 21. Metodo globale vs funzione vs classe statica
- 22. Classe base vs Classe di utilità
- 23. Classe di chiusura vs Classe di dichiarazione
- 24. Classe cache ASP.NET vs. classe MemoryCache
- 25. image Scaling of picture box
- 26. Prestazioni bitmap WPF
- 27. Componente Java Paint in bitmap
- 28. Android - ImageView: setImageBitmap VS setImageDrawable
- 29. Facebook Conceal - Image Encryption and Decryption
- 30. Modifica dell'opacità di un'immagine bitmap
Passanti: c'è una risposta migliore a destra [qui] (http://stackoverflow.com/a/19678330/3367144) – kdbanman
Possibile duplicato di [Qual è la differenza tra System.Drawing.Image e System.Drawing.Bitmap ?] (http://stackoverflow.com/questions/19678195/what-is-the-difference-between-system-drawing-image-and-system-drawing-bitmap) –