Français
Forum

GDI+

 
- page 1 -



Georg
Hovenbitzer
allô zusammen,

mich erdrückt justement une riesige Wissenslücke et je hoffe vous pouvez mir weiterhelfen.
but ist es, un Bild trop magasin, es trop einem Thumbnail trop verkleiner et ensuite dans einer banque de données abzulegen.
mon Problem ist eh bien qui partie entre Thumbnail et banque de données et là qui, comment je à une Speicheradresse / Array des Bildes et dessen Taille viens:
comme Présentation habe je cela geile GDI+ Demo de Andreas pris.
 $H \windows.ph
 $H \includes\Functions_GDIPLUS.ph
 $H \includes\GDIP_Imageging.ph
 $I \includes\GDIP_Helper.inc
Déclarer gdiplusToken&,ImageObject&,ImageWidth&,ImageHeight&,GraphicObject&
Déclarer hPic&
Déclarer imgThumb&
Déclarer lngImage&
Déclarer hBitmap&
Fenêtre 0,0-1024,786
Cls ~GetSysColor(~COLOR_3DFACE)
gdiplusToken& = InitGDIPlus()
hPic& = @Créer(hPic,-1,Bild.jpg)
~GdipCreateBitmapFromHBITMAP(hPic&,0,@Addr(lngImage&))
~GdipGetImageThumbnail(lngImage&,92,69,@Addr(imgThumb&),0,0)
~GdipCreateHBITMAPFromBitmap(imgThumb&,@Addr(hBitmap&))
DrawPic hBitmap&,50,50;0
ici bräuchte je eh bien quelque chose, quoi mir une Adresse ou bien Array et dessen Taille ermittelt !!!
WaitInput
DeleteObject hPic&
DeleteObject hBitmap&
~GdipDisposeImage(imgThumb&)
~GdipDisposeImage(lngImage&)
ExitGDIPlus(gdiplusToken&)
Fin
 
Viele Grüsse, Georg Hovenbitzer(Windows XP Pro, XProfan 11.2, Profan2Cpp 1.6a)
02.02.2009  
 



 
- page 2 -


voulais la fois de meiner Bmp-Dossier(64x64Pixel) qui RGB-Werte auslesen. cela Bild hat 3 verschiedene waagerechte
Farbstreifen(RGB). Es venons total falsche Werte 31 0 31, 227 0 227 usw.

quoique reine RGB-Werte venons devoir 255 0 0, 0 255 0, 0 0 255 zb.
window 30,30-500,500
 $H Windows.ph
declare bmi#,b#
declare Pic$,Handle&,Neu&,wert&,hwin&
Fenêtre 20,20-200,200
hWin& = Créer(Fenêtre, %hWnd, Test, 250, 20, 650,500)
Pic$=test.bmp
Handle&=create(hPic,-1,Pic$)
struct bmpHEADER=Size&,Width&,Height&,Planes%,BitCount%,Compression&,SizeImage&,X#(24)
dim bmi#,bmpHEADER
bmi#.Size&=sizeof(bmi#)------------------Taille de BITMAPINFOHEADER
~GetDIBits(%hdc,Handle&,0,0,0,bmi#,0)--Dummy-Aufruf, um bmpHeader trop füllen (Rückgabe: 1=OK)
imprimer sizeof(bmi#)
dim b#,bmi#.SizeImage&-----------------Bereich pour Bildinformationen (Pixel) bereitstellen
~GetDIBits(%hdc,Handle&,0,bmi#.Height&,b#,bmi#,0)--Eigendliche Bilddaten aus Handle ermitteln
Neu&=~CreateDIBitmap(%hdc,bmi#,4,b#,bmi#,0)------Neue DIB avec modifié Farben erzeugen
startpaint hwin&
drawpic Neu&,10,10;0
endpaint
wert&=bmi#.SizeImage&

whileloop 0,wert&,4

    imprimer byte(b#,&loop),byte(b#,&loop+1),byte(b#,&loop+2)
    sleep 10

endwhile

 
05.03.2009  
 




Jörg
Sellmeyer
la hâte Du car qui Bitmap déjà avec einem externe Programme überprüft? si je einfarbige Bitmaps einsetze, volonté qui Werte korrekt ausgegeben.
ici ist mon Bitmap


15 kB
Hochgeladen:05.03.2009
Downloadcounter174
Download
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.03.2009  
 



qui Werte habe je chez mir überprüft, avons alle la valeur 255 dans R, G et B.
avec 2 Grafikprogrammen : Paintshop et Micrografx.

mfg
 
05.03.2009  
 



chez Je ne.
d'abord venez zwar 0 248 0 8x ensuite wieder 224 7 224 8x et 31 0 31 8x cela jusqu'à zum schluss.

Zeig la fois deine Ausleseprogramm.

mfg
 
05.03.2009  
 



Wohlbemerkt qui Werte imho pas im Format RGB mais BGR vorliegen.
 
05.03.2009  
 



jouer maintenant im Test aucun rôle, derweil chacun la couleur la valeur 255 einzeln hat. Zumindest muss cela eigentlich avec einer kleinen Schwankung seperat rauskommen et pas cet Ausgabe dessus. Peut-être mon Aufrufreihenfolge faux...

mfg
 
05.03.2009  
 




Jörg
Sellmeyer
Peter Bierbachh
chez Je ne.
d'abord venez zwar 0 248 0 8x ensuite wieder 224 7 224 8x et 31 0 31 8x cela jusqu'à zum schluss.

Zeig la fois deine Ausleseprogramm.

mfg


Welches Ausleseprogramm? je habs avec Deinem Code ausgelesen.
qui Bitmap ist avec CorelDraw erstellt.
Zeig doch la fois Votre Bitmap.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.03.2009  
 



Im Anhang sommes qui Bitmap.

mfg

15 kB
Hochgeladen:05.03.2009
Downloadcounter172
Download
15 kB
Hochgeladen:05.03.2009
Downloadcounter155
Download
 
05.03.2009  
 




E.T.
plan (à cause de encore-pas-dormir-peut ) la fois probiert:
Test1 et Test2.bmp montrer chez mir jeweils 255 (reste 0) pour qui jeweilige la couleur à (Photoshop et AutoCad). Ebenso qui bmp de Jörg.

qui im o.g. Quellcode verwendete Test.bmp ist wohl pas dabei ou bien hat beim hochladen den nom geändert ??
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
06.03.2009  
 



 
- page 3 -


j'ai maintenant la fois nachgeschaut et festgestellt cela qui Auflösung sur 16bit gelaufen ist statt sur 32bit.
je weiss encore pas welches Programme cela beeinflusst.
Mir fiel maintenant sur, le moi qui la fenêtre im Vollbildmodus Déplacer peux statt im Rändermodus, quoique je auparavant sur Rändermodus ging sur qui Grafikkarte. là habe je ensuite aussi festgestellt cela cet sur 16bit stand.

mfg
 
06.03.2009  
 




Jörg
Sellmeyer
Na exposition à - bientôt gilt alors pas seulement Minimalnbeispiel posten, mais juste den ganzen calculateur mitschicken
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
06.03.2009  
 



encore un Problem.
si je qui Bitmap kopiere pour récente1& venez seulement un schwarzes Viereck si je es près de qui anderen Grafik mets.
Muss cela aussi irgendwie wieder umgewandelt volonté?

mfg
window 30,30-500,500
 $H Windows.ph
declare bmi#,b#
declare Pic$,Handle&,Neu&,wert&,hwin&,récente1&
Fenêtre 20,20-200,200
hWin& = Créer(Fenêtre, %hWnd, Test, 250, 20, 650,500)
Pic$=test.bmp
Handle&=create(hpic,-1,Pic$)
struct bmpHEADER=Size&,Width&,Height&,Planes%,BitCount%,Compression&,SizeImage&,X#(24)
dim bmi#,bmpHEADER
bmi#.Size&=sizeof(bmi#)------------------Taille de BITMAPINFOHEADER
~GetDIBits(%hdc,Handle&,0,0,0,bmi#,0)--Dummy-Aufruf, um bmpHeader trop füllen (Rückgabe: 1=OK)
imprimer sizeof(bmi#)
dim b#,bmi#.SizeImage&-----------------Bereich pour Bildinformationen (Pixel) bereitstellen
~GetDIBits(%hdc,Handle&,0,bmi#.height&,b#,bmi#,0)--Eigendliche Bilddaten aus Handle ermitteln
Neu&=~CreateDIBitmap(%hdc,bmi#,4,b#,bmi#,0)------Neue DIB avec modifié Farben erzeugen
startpaint hwin&
drawpic Neu&,0,0;0
endpaint
neu1&=create(hpiccopy,hwin&,0,0,64,64)
startpaint hwin&
drawpic récente1&,100,0;0
endpaint
wert&=bmi#.SizeImage&

whileloop 0,wert&,4

    imprimer byte(b#,&loop),byte(b#,&loop+1),byte(b#,&loop+2)
    sleep 20

endwhile

dispose bmi#
dispose b#
waitkey
 
06.03.2009  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

19.186 Views

Untitledvor 0 min.
Thomas Freier27.08.2019
Georg11.05.2015
Andre Rohland14.02.2015
Uwe ''Pascal'' Niemeier11.12.2014
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie