J'ai besoin spécifiquement de charger une image JPG qui a été enregistrée en tant que blob. GDI +, il est très facile de récupérer des images à partir de fichiers, mais pas de bases de données ...Comment charger et enregistrer une image à partir d'une base de données SQL Server à l'aide de GDI + et C++?
Répondre
Jetez un oeil à Image::Image(IStream *, BOOL). Cela prend un pointeur vers un objet COM implémentant l'interface IStream. Vous pouvez en obtenir un en allouant de la mémoire globale avec GlobalAlloc puis en appelant CreateStreamOnHGlobal sur le descripteur renvoyé. Ça va ressembler à quelque chose comme ceci:
shared_ptr<Image> CreateImage(BYTE *blob, size_t blobSize)
{
HGLOBAL hMem = ::GlobalAlloc(GMEM_MOVEABLE,blobSize);
BYTE *pImage = (BYTE*)::GlobalLock(hMem);
for (size_t iBlob = 0; iBlob < blobSize; ++iBlob)
pImage[iBlob] = blob[iBlob];
::GlobalUnlock(hMem);
CComPtr<IStream> spStream;
HRESULT hr = ::CreateStreamOnHGlobal(hMem,TRUE,&spStream);
shared_ptr<Image> image = new Image(spStream);
return image;
}
Mais avec la vérification des erreurs et tels (omis ici pour rendre les choses plus claires)
récupère d'abord votre blog dans un tableau d'octets utilisez quelque chose comme ceci:
public static Image CreateImage(byte[] pict)
{
System.Drawing.Image img = null;
using (System.IO.MemoryStream stream = new System.IO.MemoryStream(pict)) {
img = System.Drawing.Image.FromStream(stream);
}
return img;
}
ce qui est l'équivalent de MemoryStream sur C++? – djeidot
J'ai d'abord mal lu le titre et je pensais que vous cherchiez C#. Il semble que MemoryStream soit aussi disponible en C++: http://msdn.microsoft.com/en-us/library/system.io.memorystream(VS.71).aspx –
Je ne cherchais pas d'objets gérés, mais merci quand même – djeidot
- 1. Charger la base de données SQLite à partir de SQL Server distant?
- 2. Comment sauvegarder une base de données à partir de ServerGrid.com?
- 3. Comment générer une image de graphiques pour des données à partir de Microsoft SQL Server 2005?
- 4. Comment enregistrer une image à partir d'une URL?
- 5. Fichier de base de données SQL Server et WCF
- 6. Base de données SQL Server 2008 drop, create et fill
- 7. Enregistrer le fichier à partir du champ Image de la base de données
- 8. MS SQL Server restauration de base de données à partir de MDF et LDF ne montrant pas les dernières données
- 9. Comment enregistrer des données à partir de listes déroulantes?
- 10. comment charger une image à partir du Web dans Java
- 11. Comment enregistrer une image d'une base de données SQL dans le système de fichiers En utilisant uniquement SQL?
- 12. Normes de base de données SQL Server et meilleures pratiques
- 13. Récupérer une image et la charger dans une page html
- 14. Mise à jour/enregistrement dans une base de données SQL à l'aide de C#?
- 15. Comment migrer les diagrammes de base de données SQL Server vers une autre base de données?
- 16. Création d'une base de données SQL Server à partir de Python
- 17. Enregistrer JSON dans la base de données et charger avec JQuery
- 18. Enregistrer et enregistrer des sons à partir d'applications?
- 19. Quelle est la meilleure façon d'afficher une image à partir d'une base de données de serveur sql dans asp.net?
- 20. Affichage d'une image sur une page Web ASP.NET (3.5) à partir d'une base de données
- 21. Créer une base de données SQL à partir d'un jeu de données typé ADO.NET
- 22. Comment me connecter à une base de données SQL Server distante dans une application WinForms?
- 23. MySQL: Sélection de données à partir de MS SQL Server
- 24. À partir de SPSS, importer des données à partir de SQL Server Analysis Services
- 25. Télécharger une image PHP/SQL dans une base de données
- 26. Ajout d'une image à une base de données en Java
- 27. Comment charger des données statiques dans Mirth, éviter de nombreux roundtrips à une base de données
- 28. enregistrer à la base de données mysql en utilisant php et mysqli
- 29. Comment enregistrer à la fois le succès et l'échec dans le travail de l'Agent SQL Server
- 30. Comment puis-je sauvegarder les connexions et les travaux à partir de SQL Server 2005?
qui a fait le travail, merci! – djeidot
C'est ce que je reçois pour ne pas essayer de le compiler. – Eclipse