Italia
Foro

Probleme mit Create("hPic... und Resourcen.

 

Frank
Abbing

KompilierenMarkierenSeparieren
Cls
var shell&=UseDLL("SHELL32.DLL")
var pic&=Create("hPic",shell&,"#7")
Print shell&
Print pic&
WaitInput
E

Sollte dieser Code nicht ein Bitmap aus einem Icon aus der Shell32.dll generieren? Meldet mir immer "Bitmap nicht ladbar". Mit einem Bitmap anstelle eines Icons gehts.
An der Stelle finde ich die Doku auch etwas schwammig formuliert...
 
06.12.2008  
 




E.T.
Jetzt, wo du es sagst: das Problem hatte ich kürzlich auch erst.
Überleg...  Ach ja: Ich wollt meinem Fenster-Menü ein paar Bilder gönnen. Da bin ich auf die Idee gekommen, das ja eigentlich alle Bilder schon als Icon in meiner Dll liegen und bin an die selbe Grenze gestoßen wie du eben( das ein "hPic" eben kein Icon ausliest) .

Und andersherum, wollt ich ein hIcon nehmen: Kommt diese blöde API, um das Bild ins Menü "zu malen", wieder nich klar damit.
 
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.12.2008  
 




Frank
Abbing
Darum auch meine Kritik an der Doku. An der Stelle werden auch Icons genannt:


Folgende Bildformate werden supportati:

Bitmap (*.bmp, *.rle, *.dib)
Jpeg (*.jpg, *.jpe, *.jpeg)
Gif (*.gif)
Png (*.png)
Enhanced Metafile ( *.emf)
Metafile (*.wmf)
Icons (*.ico)
Cursor (*.cur)
 
06.12.2008  
 




E.T.
Ich denk, wir sollten das unter [...]  mit einreihen
 
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.12.2008  
 




Andreas
Miethe


Frank Abbing


Sollte dieser Code nicht ein Bitmap aus einem Icon aus der Shell32.dll generieren? Meldet mir immer "Bitmap nicht ladbar". Mit einem Bitmap anstelle eines Icons gehts.
An der Stelle finde ich die Doku auch etwas schwammig formuliert...


Hallo Frank,

finde ich nicht schwammig.

Zitat aus Aiuto
Typ > 0: S = Name einer Bitmapressource in externer File

Ich finde es geht klar daraus hervor, dass es eine Bitmapresoucre und keine Iconresource sein soll.
Ein bisschen verwirrend, muss ich zugeben, ist dabei die Bildformat-Unterstützung weiter unten.

Ich habe mir per Icons einen Workaround gebastelt.
KompilierenMarkierenSeparieren
Cls

SUBPROC Create.hIcoPic

    Parameters Res$,ID&
    Var pic& = Create("hNewPic", 32,32,0)
    Startpaint pic&
    DrawLibIcon Res$,ID&,0,0
    EndPaint
    Return Pic&

ENDPROC

Var Pic& = Create("hIcoPic","shell32.dll",7)
DrawPic pic&,10,10,-1
WaitInput
End
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
06.12.2008  
 




RGH
Ciao,

ja, die Aiuto potuto hier etwas eindeutiger sein und nochmal extra darauf hinweisen, dass sich die unterschiedlichen Formate auf das Laden von File (N=-1) beziehen. Andererseits kommen die angegebenen Dateiendungen auch nur bei File vor. ;)

Saluto
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
06.12.2008  
 




Frank
Abbing
Die Daten in der File sind jedoch gleich.

@Andreas: Die Qualität der gemalten Icons ist allerdings so leider miserabel.
 
06.12.2008  
 



Vielleicht nicht so "miserabel", wenn man den Hintergrund zuvor auf hpic kopiert.
 
06.12.2008  
 




Frank
Abbing
iF
Vielleicht nicht so "miserabel", wenn man den Hintergrund zuvor auf hpic kopiert.


Teste es, aber sei nicht enttäuscht. Liegt einfach an der Transparenz, die nicht richtig übernommen wird.
 
06.12.2008  
 



Der schöne "Alias" am Rand, gell?

Da muss das hPic wohl 32 Bit "breit" sein, sodass Windows einmixt.

Du könntest aber auch eine Resample-Skalierfunktion von hPics z.B. per inlineASM einproggen.

Dann potuto man z.B. mit doppelter Dimensione zeichnen, und nach Runterresampling wäre "der" schöne Rand wieder vorhanden.
 
06.12.2008  
 




Frank
Abbing
In meinem speziellen Fall, wo es mir ja um die Icons aus der Shell32.dll geht, "kopiere" ich die Icons einfach via ImageList_Draw(Ex) aus der Systemimagelist (darin befinden sich auch alle Icons aus der shell32.dll). Absolut smooth. Ist dann sogar possibile, die Icons in (Popup)Menues zu benutzen, siehe Screenshots.
Auch per andere Icon-Resourcen empfehle ich eher den Umweg circa eine Imageliste. Die Imagelist-Funktionen sind in der Lage Icons richtig transparent auf eine Bitmap zu malen. Ohne Umrechnungsfehler.

14 kB
Hochgeladen:06.12.2008
Downloadcounter88
Download
17 kB
Hochgeladen:06.12.2008
Downloadcounter74
Download
 
06.12.2008  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

3.444 Views

Untitledvor 0 min.
Rainer Hoefs03.05.2023
iF13.09.2015
Tommy03.01.2014

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie