dpi vom Pixel im Purebasicscreen
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
dpi vom Pixel im Purebasicscreen
Welchen dpi-Wert hat ein Pixel im Purebasicscreen?
Wenn ich Bilder einlese, die verschiedenen dpi haben, werden die verschieden gross dargestellt im GDI-Fenster.
Bei welcher dpizahl ist ein Bildpixel ein Purebasicpixel.
Gruss
Wenn ich Bilder einlese, die verschiedenen dpi haben, werden die verschieden gross dargestellt im GDI-Fenster.
Bei welcher dpizahl ist ein Bildpixel ein Purebasicpixel.
Gruss
- NicTheQuick
- Ein Admin
- Beiträge: 8812
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: dpi vom Pixel im Purebasicscreen
Du meinst die Bilder haben alle die selbe Auflösung, aber verschiedene DPI und dann werden sie unterschiedlich mit 'DrawImage()' angezeigt?
Mach mal bitte ein Beispiel dazu.
Mach mal bitte ein Beispiel dazu.
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: dpi vom Pixel im Purebasicscreen
"raupe-grau.bmp"
Bei 72dpi und 96dpi hat es verschiedene grössen.
Bei 72dpi und 96dpi hat es verschiedene grössen.
Code: Alles auswählen
XIncludeFile "gdiplus.pbi"
lib = OpenLibrary(#PB_Any, "gdiplus.dll")
Global sl.l,sl1.l,ga.l,gar.l,wia.f,wiar.f
Enumeration
#Container_0
#Button_0
#Button_1
#Button_2
EndEnumeration
color = MakeColor(255,255,255,0)
InitSprite()
OpenWindow(0, 0, 0, 800,600, "GdiPlus 1.0", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),10,200,400,400,0,0,0)
CreateSprite(1,128,128,#PB_Sprite_Texture)
ButtonGadget(#Button_0, 20, 40, 110, 40, "QUIT ")
ButtonGadget(#Button_1, 20, 90, 110, 40, "vor")
ButtonGadget(#Button_2, 20, 140, 110, 40, "zurück")
ContainerGadget(#Container_0, 260, 10, 128,128)
Gdiplus_New()
GdipCreateFromHWND(GadgetID(#Container_0), @*gfx1)
GdipCreateBitmapFromFile("raupe-grau.bmp", @*image1)
sl=64*2.5
sl1=sl/2
ga=32
Repeat
Event.l = WaitWindowEvent(2)
GdipDrawImageI(*gfx, *image1, 0, 0)
If GetAsyncKeyState_(#VK_Q)
wia.f = wia+1
GdipTranslateWorldTransform(*gfx1, sl1,sl1,0)
GdipRotateWorldTransform(*gfx1, wia, 0)
GdipDrawImagei(*gfx1, *image1,-ga,-ga)
GdipResetWorldTransform(*gfx1)
EndIf
If GetAsyncKeyState_(#VK_E)
wia.f = wia-1
GdipTranslateWorldTransform(*gfx1, sl1,sl1,0)
GdipRotateWorldTransform(*gfx1, wia, 0)
GdipDrawImagei(*gfx1, *image1,-ga,-ga)
GdipResetWorldTransform(*gfx1)
EndIf
ClearScreen(RGB(255,255,0))
DisplayTransparentSprite(1,10,10)
FlipBuffers()
Until Event = #PB_Event_CloseWindow
End
Re: dpi vom Pixel im Purebasicscreen
Damit meinte er ein ausführbares!Mach mal bitte ein Beispiel dazu.
Wo gibs die "gdiplus.pbi" und wo die "gdiplus.dll" wo gibs "raupe-grau.bmp"
Ich würde behaupten PB nutzt die Windowseinstellungen als Wert für die DPI , bei mir halt 96DPI.
Aber die normalen Befehle von PB interessieren sich nicht dafür ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: dpi vom Pixel im Purebasicscreen
Aber die normalen Befehle von PB interessieren sich nicht dafür ...
Was sind jetzt normale Befehle und unnormale, die nicht funktionieren?
Gruss
Was sind jetzt normale Befehle und unnormale, die nicht funktionieren?
Gruss
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: dpi vom Pixel im Purebasicscreen
http://www.purearea.net/pb/german/index.htm
Da gibt es die GDI usw.
Für das Bild kann man ein Musterechteck abspeichern und mit verschiedenen Dpi versehen.
Aber ich glaube es liegt am GDI.
Gruss
Da gibt es die GDI usw.
Für das Bild kann man ein Musterechteck abspeichern und mit verschiedenen Dpi versehen.
Aber ich glaube es liegt am GDI.
Gruss
- mpz
- Beiträge: 505
- Registriert: 14.06.2005 15:53
- Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
- Wohnort: Berlin, Tempelhof
Re: dpi vom Pixel im Purebasicscreen
Hi Supercastle,
kannst Du mal bitte die beiden "gleichen" Grafiken mit 72dpi unfd 96dpi raufladen. Den Unterschied möchte ich mir gerne mal ansehen. Wenn beide Grafiken die gleiche "Pixel" Auflösung haben, dürften nicht zwei unterschiedlich grosse Sprites entstehen. Es gibt aber ein technisches Detail. Manche Grafikkarten können nur quadratische und nur das Vielfache von 2 (1,2,4,8,16...) Pixel als Sprite übernehmen. Ein Grafikbreite von 50 Pixel wird dann z.B. auf 64 Pixel aufgerundet. Hier ein kleines Testprogramm um die DX9 Funktionen dazu auszulesen. Was steht den da bei Dir ?
http://rapidshare.de/files/48659253/gra ... o.exe.html
Infos zu Deiner Grafikkarte und OpenGL Funktionen findest Du hier
http://www.kludx.com/browse_video_cards.php
Gruß Michael
kannst Du mal bitte die beiden "gleichen" Grafiken mit 72dpi unfd 96dpi raufladen. Den Unterschied möchte ich mir gerne mal ansehen. Wenn beide Grafiken die gleiche "Pixel" Auflösung haben, dürften nicht zwei unterschiedlich grosse Sprites entstehen. Es gibt aber ein technisches Detail. Manche Grafikkarten können nur quadratische und nur das Vielfache von 2 (1,2,4,8,16...) Pixel als Sprite übernehmen. Ein Grafikbreite von 50 Pixel wird dann z.B. auf 64 Pixel aufgerundet. Hier ein kleines Testprogramm um die DX9 Funktionen dazu auszulesen. Was steht den da bei Dir ?
http://rapidshare.de/files/48659253/gra ... o.exe.html
Infos zu Deiner Grafikkarte und OpenGL Funktionen findest Du hier
http://www.kludx.com/browse_video_cards.php
Gruß Michael
Working on
- LibSGD - MP3D Engine - 
-
super_castle
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: dpi vom Pixel im Purebasicscreen
wenn du mir sagen kannst, wie ich hier grafikdateien hochladen kann?
mfg
mfg
- mpz
- Beiträge: 505
- Registriert: 14.06.2005 15:53
- Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
- Wohnort: Berlin, Tempelhof
Re: dpi vom Pixel im Purebasicscreen
Hi Supercastle,
1) Einfach kopieren was mein Programnm sagt -> ich interpretiere dann
2) http://www.rapidshare.de - > Duchsuchen und die erste Datei finden und markieren -> Upload wählen und link hier posten
3) http://www.rapidshare.de - > Duchsuchen und die zweite Datei finden und markieren -> Upload wählen und link hier posten
Gruß Michael
1) Einfach kopieren was mein Programnm sagt -> ich interpretiere dann
2) http://www.rapidshare.de - > Duchsuchen und die erste Datei finden und markieren -> Upload wählen und link hier posten
3) http://www.rapidshare.de - > Duchsuchen und die zweite Datei finden und markieren -> Upload wählen und link hier posten
Gruß Michael
Working on
- LibSGD - MP3D Engine - 