Bitmapgröße - der Parameter stimmt nicht



  • Hi ihr hier im Forum...

    Ich brauch ein Bitmap in der Größe von 3968x3968 Pixeln. Gebe ich diese Werte
    allerdings für Width und Height ein, krieg ich die Meldung
    Der Parameter stimmt nicht.

    Ich habe jetzt die Vermutung, dass der damit meint, dass das Bitmap zu groß
    ist. Ich habe da halt mal ein bisschen probiert, und bei allen Werten, die
    größer sind als 2044x2043 Pixel, kommt halt die Meldung.

    Ich brauch jetzt aber halt so ein großes Bitmap, wie kann ich das machen???
    Oder liegt das an irgendetwas anderes? Dann klärt mich doch bitte auf.

    Danke für alle Antworten im vorraus.

    MFG Aoeke



  • Mach mal deinen RAM frei!!! :p

    Rate mal wieviel MByte das Teil brauchen koennte! 😮

    PS: bei mir geht's locker mit 5000x5000 und mehr (256 RAM + 256 SWAP)



  • Naja ich habe 384 MB RAM und der ist frei und es klappt mit 3000x3000 nicht...
    😕 😕

    MFG Aoeke



  • Ist das 'n umfangreiches Projekt?
    Hast Du noch mehr so 'ne Speicherfresser drin? 🕶

    reichts auch nicht, wenn BCB aus ist (nur die exe laeuft)? 😉

    Woher siehst Du dass der RAM frei ist?

    (Bei mir 'verschwinden ca 100MB RAM bei 'nem Bitmap 7500x7500! kommen aber wieder nach delete BM) 😃

    PS: Ab ca 9000x9000 gibt's 'ne Fehlermeldung zum Speicher!

    [ Dieser Beitrag wurde am 01.04.2003 um 20:36 Uhr von DerAltenburger editiert. ]



  • Original erstellt von Aoeke:
    [b]Gebe ich diese Werte allerdings für Width und Height ein

    Wo/wie gibst du die Werte ein?



  • @ Altenburger: Ich habe den Rechner neu gestartet, Exe gestartet, und dann kam
    die Meldung. Ich habs für ein umfangreiches Programm geplant, aber versucht habe
    ich es in einem Programm, der das Bitmap auf Buttonclick erstellen sollte.

    @ Jansen: so...

    Graphics::TBitmap *bmp = new Graphics::TBitmap();
       bmp->Width  = 3000;
       bmp->Height = 3000;
    

    und dann halt auch wieder deleted...

    MFG Aoeke



  • Hi,

    muss wohl doch an deinem Speicher liegen. Ich habe das wie DerAltenburger auch mit 5000 x 5000 probiert. Geht ohne Probleme. Was zeigt denn dein TaskManager an (vorher/hinterher) ?



  • Habe hier auch kein Problem mit 5000x5000 und mehr. Vielleicht liegt's ja an deinem Betriebssystem, benutzt du etwa Win9x? Und welche BCB-Version?

    Wie lautet denn die komplette Fehlermeldung, und wo/wann genau erscheint sie?



  • @Aoeke

    Bau mal folgendes in deine Form ein:

    2x Label PhysMem und SwapMem
    1x Timer (Intervall 100 ms)

    In OnTimer:

    .
      .
      int i;
      AnsiString Zahl;
      _MEMORYSTATUS  GMS;
      GlobalMemoryStatus(&GMS);
      Zahl=GMS.dwAvailPhys;
      i=Zahl.Length()-2;
      while (i>0)
      { Zahl.Insert(" ",i);
        i-=3;
      }
      PhysMem->Caption=Zahl;
      Zahl=GMS.dwAvailPageFile;
      i=Zahl.Length()-2;
      while (i>0)
      { Zahl.Insert(" ",i);
        i-=3;
      }
      SwapMem->Caption=Zahl;
      .
      .
    

    Das zeigt Dir den freien Speicher an!!! (RAM und SWAP- Disk)

    Mit 2 Buttons kannste dann mal das Bitmap erstellen und Groesse setzen / BM loeschen

    Wenn Du noch mit CSpinEdit die Groese fuers Bitmap setzen einstellbar machst, kannst Du gut testen, was Dein RAM macht!!!

    Guenstig: Die beiden Buttons gegenseitig blockieren!!! (erzeugen / deleten des Bitmap nur im Wechsel moeglich!!!) 😉

    Irgendwas stimmt mit Deinem Speicher nicht. (aehm mit dem von Deinem Rechner 😃 )

    PS: dazu muss irgendeine Windows- Header- Datei! 🕶



  • Hi...

    Original erstellt von Jansen:
    benutzt du etwa Win9x?

    Was soll das denn heißen???
    Aber ja, ich benutze Windows 98...

    Und welche BCB-Version?

    BCB 5.0 Standard

    Wie lautet denn die komplette Fehlermeldung, und wo/wann genau erscheint
    sie?

    Naja komplette Fehlermeldung lautet einfach...
    Der Parameter stimmt nicht.
    ... und erscheint, wenn ich das Bitmap erstellen will.

    Original erstellt von DerAltenburger:
    Bau mal folgendes in deine Form ein:

    Ok habe ich gemacht, und ich denke mal, dass wenn die Zahlen annähernd NULL
    der Speicher voll oder??? Die waren aber weit von der NULL entfernt...

    So das ist erstmal alles was ich weiterhin sagen kann.
    Bin immer noch zu keiner Lösung gekommen...

    MFG Aoeke



  • Original erstellt von Aoeke:
    Was soll das denn heißen?

    Win9x ist nun mal nur ein mit der heissen Nadel gestricktes Möchtegern-Betriebssystem und fängt gerne an, rumzuspinnen, wenn die Systemressourcen mal richtig belastet werden.

    Bis zu welcher Bitmap-Grösse funktioniert es denn bei dir noch?



  • Original erstellt von Aoeke:
    Ich habe da halt mal ein bisschen probiert, und bei allen Werten, die
    größer sind als 2044x2043 Pixel, kommt halt die Meldung.

    Habe ich schon gesagt... 😃



  • Stimmt. 🙂

    Tja, ich habe keine Idee mehr woran es konkret liegen bzw. was man machen könnte (von einem Upgrade zu 2K/XP mal abgesehen).



  • Original erstellt von Jansen:
    von einem Upgrade zu 2K/XP mal abgesehen

    Naja, XP find ich persönlich Sch***e... Hat mein Vater und mir gefällt das
    überhaupt nicht. Viel zu bunt ... und ...
    Ach, gefällt mir einfach nicht. Hoffe ich kann noch irgendwas anderes tun (außer
    mir XP zulegen) um mein Problem zu lösen?!?

    MFG Aoeke



  • Original erstellt von Aoeke:
    **Ok habe ich gemacht, und ich denke mal, dass wenn die Zahlen annähernd NULL
    der Speicher voll oder??? Die waren aber weit von der NULL entfernt...
    **

    Da deknst Du vollkommen richtig!
    Nutzt nur nichts.

    ???

    Wichtig ist die Groesse PhysMem (echter RAM), von dem muessen immer (nach Bilderzeugen) ein paar MB uebrigbleiben. D.h. wenn Bild erzeugt wird, muss 3..7 RAM frei bleiben! Mit dem Swap- Speicher mag er das nicht erzeugen (so ist's bei mir mit Win2K + BCB 4)

    PS: WinXP find ich auch Sch****e, aber Win2K kann ich empfehlen, hatte damit noch keine Probleme!



  • Original erstellt von DerAltenburger:
    Wichtig ist die Groesse PhysMem (echter RAM)

    Naja wie gesagt die Zahl war noch soooo groß, dass ich mir deshalb glaube ich
    keine Sorgen machen muss...

    So jetzt mal eine ganz blöde Frage, aber muss ja auch mal sein?!?
    Was ist Win2k fürn Betriebssystem?
    OK Windows, aber was genau? 2000?

    MFG Aoeke

    [edit]Ich bitte um Verständnis für meine Unwissenheit... 😃 [/edit]

    [ Dieser Beitrag wurde am 02.04.2003 um 19:30 Uhr von Aoeke editiert. ]



  • Original erstellt von Aoeke:
    **Was ist Win2k fürn Betriebssystem?
    OK Windows, aber was genau? 2000?
    **

    Genau das isses, Windows 2000. 🙂 (Laeuft als professional super bei mir)



  • windoof 2000 ist der nachfolger von windoof-nt. und 2000 sicherlich, weils 2000 rausgekommen ist, ähnlich win95, win98...



  • @ DerAltenburger

    Hallo, ich habe dein RAM-Snippet mal probiert. Eigentlich ganz gut zu gebrauchen, wenn ich dein PhysMem = "Verfügbarer realer Speicher" durch 1024 teile stimmt das exakt mit dem TaskManager überein, aber dein SwapMem = "Gesamter realer RAM Speicher" stimmt nicht 100%ig mit dem TaskManager überein (ca. 99 %). Hast du eine Idee wo die Abweichung herkommt ???



  • @Sunday

    Win 2000 ist in KEINER Weise aehnlich Win95!!!
    Win 2000 hat die Oberflaeche von Win 98 (mit Win 98 wurde die getestet)

    Win 2000 ist die Zusammenfuehrung der Schienen Win 95 .. und WIN NT!

    Win 2000 ist das erste echte 32 Bit System! Alle vorherigen hatten zu viele Dos- Teile drin! Abgesehen von einigen NT- Vrsionen.

    Die Sicherheit und Stabilitaet hab ich bei keiner anderen Version gesehen! Fuer Spieler ist die aber nicht gut. Die Stabilitaet ist aber wesentlich besse als von NT!!!

    @WoWe

    ka, aber bei 99% ev Rundungsfehler?

    [ Dieser Beitrag wurde am 03.04.2003 um 00:35 Uhr von DerAltenburger editiert. ]


Anmelden zum Antworten