wielkie bitmapy...

0

jak mogę stworzyć w pamięci bitmapę o rozdzielczości... np 10000x10000pikseli ?
kiedy używam:

bitmap.width:=10000;
bitmap.height:=10000;
bitmap.dormant;

....pokazują się błędy :-(
może ktoś orientuje się jak to jest rozwiązane w programach typu Photo-Paint.....

0

Tez mialem takie pytanie kiedys. Zwróc uwage, że jest to ogromna bitmapa o takich rozmiarach, pewnie ponad 100MB.
Jesli chodzi o powiekszanie to dobrze sobie radzi funkcja STRETCH z palety Jedi.

A o co dokładnnie Ci chodzi?

0

Użyj wskaźników do pobranie pamięci

0

"chmolu ze szkoły" mógłbyś podać source do pobierania pamięci w ten sposób?

0

Taka bitmapa w wariancie 24 bitowym zajmie trochę ponad 286MB trochę dużo... ja bym poszukał w googlach czegoś w stylu "large bitmaps TBitmap Delphi handle" ;)

0

odpowiedz jest na torry.net wystarczy poszukac :P jest tam modul operujacy nawet na 2gb bitmapach

0

no... tylko że ten moduł pozwala jedynie załadować bitmapę z pliku, a ja chcę stworzyć ją dynamicznie w pamięci... i operować nią jak zwykłym TBitMap...

0

Ale jak ty chcesz stworzyć w pamięci bitmapę o wielkości 286 MB? Co, jeśli ktoś będzie miał np. 128 MB ramu? gdzie zmieścisz pozostałe 158 MB? A jak ramu będziesz miał więcej, niż wielkość bitmapy, to i tak program będzie się tak ślimaczył, że nie bedzie się dało z niego korzystać. A więc najlepiej jest robić operacje na pliku, a nie w pamięci. Tym bardziej, że nie będziesz jednocześnie wyświetlał bitmapy większej niż 1280x1024.

0

własciwie masz rację... lepiej żeby ślimaczyć się na dysku, niż slimaczyć się i dodatkowo zawalać pamięc.... :P ale co do pamięci... to nie moge się zgodzić z Tobą... poszukaj sobie coś na temat pliku wymiany, to jest plik tworzony przez winde w celu symulacji brakującej pamięci... ale co do bitmap to racja :)

0

Racja, zapomniałem o pliku wymiany. Jego wielkość jednak też jest ograniczona. Ale mniejsza o to. Operacje na pliku wcale nie będą się aż tak ślimaczyć (jeśli oczywiście nie będziesz naraz zmieniał wszystkich pixeli obrazka), ponieważ działałoby to na tej zasadzie, że wskaźnik pliku idzie od razu do wyznaczonego pixela i zmienia tylko kilka bajtów, bez ładowania do apmięci reszty. Jest to więc szybka i niepamięciożerna metoda.

1 użytkowników online, w tym zalogowanych: 0, gości: 1