Przykład: mam dwa otwarte obrazki (resource):
  1. <?php
  2. $im = imagecreatetruecolor(800, 600);
  3. $dm = imagecreatetruecolor(640, 480);
  4. ?>


Drugi zasób wykorzystuję do przeprowadzenia skalowania, zastosowania paru filtrów, itp. Moje pytanie dotyczy:
  1. <?php
  2. $im = $dm;
  3. imagedestroy($dm);
  4. ?>

Jak to się ma do zużycia pamięci? Czy alokacja w dalszym ciągu pozostaje dla 800x600 czy jest od razu zmniejszana do wartości dla 640x480?

Drugie pytanie: Odnośnie do http://pl2.php.net/manual/pl/function.imagedestroy.php#70571
Z tego, co zrozumiałem, to zasoby obrazków należą do specyficznych typów i GC sprząta dopiero przy kończeniu wykonywania skryptu.
Czy następuje to również po zwróceniu wartości funkcji, czy pamięć (w tym wypadku) zostanie zaalokowana podwójnie (raz dla funkcji, drugi dla zmiennej, do której przypisywany jest rezultat)?
  1. <?php
  2. function bleble(){
  3. $im = imagecreatetruecolor(800, 600);
  4. return $im;
  5. }
  6. ?>


edit: ad. pytania pierwszego: takie "kopiowanie" nie działa... Radzę sobie inaczej (pare imagecreate...)...