Italia
Experimente

Pixels: übergroße Bilder Mostra, laden, speichern

 
Pixels: übergroße Bilder Mostra, laden, speichern

Ein Paket jetzt auch mit Dateifunktionen (war recht kniffelig!)

Es gibt jetzt die pixels.files.inc -

dort haben die Dateiformate-Coder ihren Platz -

folgende Funktionen als Beispiel dabei:

pixels.saveRAWtoFile(long pix,string fle)
pixels.loadRAWfromFile(string fle,long xx,yy)
pixels.savePINCtoFile(long pix,string fle)
pixels.loadPINCfromFile(string fle)

Paket:

Herunterladen

Die Schwierigkeit ist so zu programmieren, dass es eben auch mit wirklich grande File klappt. Z.B. kann ich nach dem Einladen einer 0,5GB-File nicht einfach mal ein Doppel anlegen oder Umkopieren.

Auch die pixels.inc ist erweitert und pixels.create hat nun 4 Parameter.
Also nicht die Codes mixen.

Jetzt potuto sich jemand daran machen, in die pixels.files.inc ein pixels.loadBMPfromFile einzuprogrammieren. Hierbei muss man dann den Decoder naturalmente selbst umsetzen und sollte besser in einer nProc geschrieben sein.

Ich per meinen Teil wäre mit dem Thema und Test dann erstmal durch,
Riesenbilder mit XProfan/ FreeProfan problemlos possibile.

Weitere Demos:

Hier scrollen 14.000x14.000 Pixel:

Herunterladen



Echte Threads:

Herunterladen


 
29.12.2015  
 



Um per das Pixels-Experiment eine komplette Experimental-Umgebung herzustellen, dachte ich an FreeProfan  [...]  mit dazugehöriger IDE XProfEd.

Aber eines der beiden Prodotti scheint ein Problem zu haben, denn wenn ich start ./profan.exe ./xprofed.prf dann startet xprofed nur ca. jedes 10. Mal. Der Splash-Screen wird aber immer gezeigt.

Ich habe hier per das Paket mal ein Paket geschnürt mit: XPSE, FreeProfan32, XProfEd, JWasm, POLink, per XProfEd-notwendige .ph-File.

Aber schon der IDE-Start gelingt der freeprofan32 profan exe nicht. Die von Roland beigelegte XProfEd.exe funktioniert jedoch aber ich muss die IDE per profan.exe starten.

Hier das Paket, bekommts jemand zum laufen?

Und die profcomp.exe findet die windows.ph nicht obwohl sie im selben Verzeichnis liegt:


 
29.12.2015  
 



So, dann ohne IDE mal kürzeres Paket:

build.bat kompiliert und startet...

und siehe da, 10.000²x4 klappt!

15.000²x4 klappt bei mir nicht mehr -
wären dann aber auch 0,85 GigaByte.



Ergo sind auch mit XProfan Bildgrößen wie 50.000 x 50.000 x1Bpp possibile- halbes GigaByte Pixeldaten scheint da so die Grenze zu sein ganz ähnlich wie bei IrfanView.

10.000x10.000 RGBA (myImg3) sind jedenfalls damit dicke drin.

 
29.12.2015  
 



Hier ein neues Paket das die Größen durchtestet:

Herunterladen

Ich komme auf 748MB (14000x14000xRGBA):



Und das scheint auch genau IrfanViews Grenze zu sein,
14Ki² schafft er bei mir noch aber nicht 15Ki².

 
29.12.2015  
 



Hier scrollen 14.000x14.000 Pixel:



Herunterladen

Unterm Strich würde ich per sowas eher die stabilere
XProfan 11 Vollversion empfehlen und die File
im Paket ersetzen.

Hier der Code:
 {$cleq}
//
decimals 0
include pixels.inc
//usermessages wm_erasebkgnd
//
cls
print "Größen/Speichertest:"
// max größe durchtesten
long tmp,max

whileloop 1000,25000,1000

    tmp=pixels.create(loop,loop,$FF0000)

    if tmp

        max=loop
        pixels.destroy(tmp)

    endif

    print loop;"x";loop;":",if(tmp,tmp,"gescheitert")
    casenot tmp : break

wend

casenot max : end messagebox("errmax","",0)
//
sleep 1000
cls
// maximales Megabild anlegen
long megabild=pixels.create(max,max,0)
casenot megabild : end messagebox("errmega","",0)
// kleines AnzeigePixelshPic per Ausgabe des Riesenbildes erzeugen
long myView=pixels.createHPic(maxx,maxy,$FF0000)
casenot myView : end messagebox("errmyview","",0)
// megabild vollmalen

whileloop 2000

    pixels.line(megabild,0,rnd(max),max,rnd(max),rnd($FFFFFF))
    pixels.line(megabild,rnd(max),0,rnd(max),max,rnd($FFFFFF))

wend

// anzeige
long x,y,xx,yy
windowtitle str$(max)

do {

    xx=width(hWnd)
    yy=height(hWnd)
    x=mousex/xx*(max-xx)
    y=mousey/yy*(max-yy)
    case x>max-xx-1 : x=0
    case y>max-yy-1 : y=0
    // Ausschnitt aus Riesenbild-Pixelspeicher in kleines AnzeigePixelshPic kopieren
    pixels.copyRect(myView,megabild,0,0,x,y,xx,yy,0)
    // das hPic der Pixel von myView aktualisieren
    pixels.renewHPic(myView)
    // kleines AnzeigePixelshPic auf hWnd zeichnen
    pixels.drawHPic(myView,0,0,0)
    //
    waitinput 1

}

//
//pixels.destroy(myView)
end
//

8.505 kB
Hochgeladen:29.12.2015
Downloadcounter3
Herunterladen
20 kB
Hochgeladen:29.12.2015
Downloadcounter156
Herunterladen
1.224 kB
Hochgeladen:29.12.2015
Downloadcounter170
Herunterladen
 
29.12.2015  
 




RudiB.


Habs auch mal kurz getestet.....

37 kB
Hochgeladen:29.12.2015
Downloadcounter176
Herunterladen
 
XProfan 9
WinXP, SP2, AMD Phenom(tm) II X4 840 Processor

Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
29.12.2015  
 



Wow,

Du könntest vielleicht sogar an die 4 GB reservieren,

RGBA: 32.768² Pixel
Graustufen: 65.536² Pixel
SW: 185.363² Pixel

die nach diesem Prinzip angezeigt werden könnten.
 
29.12.2015  
 




RudiB.
hab nur Deine exe mal probiert, geht sogar noch bis 19000, doch danach steigt er aus. Die 20000: da sagt das Progrämmle "gescheitert". Und das Pixelscrollen corre bei mir auch recht flüssig bei Mausbewegung...cool.
aber mal Ehrlich wer braucht denn sooo grande Bilder ??

na ja, weil man's kann, oder ??

[OFFTOPIC]Hab jetzt das Problem (mein Problem) mit den Arrays erkannt/gelöst.....jetzt flutscht es....Hatte jedoch noch nie Probleme oder Fehler, bis gestern !! Danke nochmal....ich war schon penetrant, oder??[/OFFTOPIC]
 
XProfan 9
WinXP, SP2, AMD Phenom(tm) II X4 840 Processor

Xprofan X4
Rudolf Beske / München

Hardware: NB Intel I9 - 16GByte RAM
29.12.2015  
 



Hier mal endlich ein Paket jetzt auch mit Dateifunktionen (war recht kniffelig!)

Es gibt jetzt die pixels.files.inc -

dort haben die Dateiformate-Coder ihren Platz -

folgende Funktionen als Beispiel dabei:

pixels.saveRAWtoFile(long pix,string fle)
pixels.loadRAWfromFile(string fle,long xx,yy)
pixels.savePINCtoFile(long pix,string fle)
pixels.loadPINCfromFile(string fle)

Paket:

Herunterladen

Nur test.exe:

Herunterladen

Die Schwierigkeit ist so zu programmieren, dass es eben auch mit wirklich grande File klappt. Z.B. kann ich nach dem Einladen einer 0,5GB-File nicht einfach mal ein Doppel anlegen oder Umkopieren.

Auch die pixels.inc ist erweitert und pixels.create hat nun 4 Parameter.
Also nicht die Codes mixen.

Jetzt potuto sich jemand daran machen, in die pixels.files.inc ein pixels.loadBMPfromFile einzuprogrammieren. Hierbei muss man dann den Decoder naturalmente selbst umsetzen und sollte besser in einer nProc geschrieben sein.

Ich per meinen Teil wäre mit dem Thema und Test dann erstmal durch,
Riesenbilder mit XProfan/ FreeProfan problemlos possibile.

8.214 kB
Hochgeladen:29.12.2015
Downloadcounter4
Herunterladen
2.991 kB
Hochgeladen:29.12.2015
Downloadcounter147
Herunterladen
 
29.12.2015  
 



[OFFTOPIC]
RudiB. (29.12.2015)
Hab jetzt das Problem (mein Problem) mit den Arrays erkannt/gelöst.....jetzt flutscht es....Hatte jedoch noch nie Probleme oder Fehler, bis gestern !! Danke nochmal....ich war schon penetrant, oder??


Ich wollte schon durchrufen!

[/OFFTOPIC]
 
29.12.2015  
 



Echte Threads:

Herunterladen



Paket aktualisiert:  [...] 

2.932 kB
Hochgeladen:30.12.2015
Downloadcounter17
Herunterladen
295 kB
Hochgeladen:30.12.2015
Downloadcounter139
Herunterladen
 
30.12.2015  
 



Zum Experiment


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

11.334 Views

Untitledvor 0 min.
Thomas Freier14.02.2024
RGH26.12.2021
p.specht20.11.2021
Manfred Barei19.11.2021
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

iF (9x)
RudiB. (2x)


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