Jak cSource to źródło, źródłem jest Image1 a Dest jest Image2. Trudno jest dopatrzeć się innej analogi. A jak winno być?
Nie rozumiem o co Ci chodzi. W każdym razie do tego co chcesz zrobić wystarczą zwykłe operacje na Canvasie.
Jak cSource to źródło, źródłem jest Image1 a Dest jest Image2. Trudno jest dopatrzeć się innej analogi. A jak winno być?

polymorphism napisał(a):Nie rozumiem o co Ci chodzi. W każdym razie do tego co chcesz zrobić wystarczą zwykłe operacje na Canvasie.

duf napisał(a):
- Kod: Zaznacz cały
TImage* Image2;
Image1 = new TImage(this);
Image1->Picture->LoadFromFile("filename");
TMemoryStream* pms = new TMemoryStream();
pms->WriteComponent(Image1);
pms->Position = 0;
pms->ReadComponent(Image2);
delete pms;
TImage* Image2;
Image2 = new TImage(this);
Image2->Parent = this;
TImage *Image1;
Image1 = new TImage(this);
Image1->Parent = this;
Image1->Picture->LoadFromFile("filename");
TMemoryStream* pms = new TMemoryStream();
pms->WriteComponent(Image1);
pms->Position = 0;
pms->ReadComponent(Image2);
delete pms;
TImage *Image1;
Image1 = new TImage(this);
Image1->Parent = this;
TImage *Image2 = Image1;

Zapiszę tekstem pierwszy Image1 (...)
Nie przypuszczałem, że wzbudzi to takie zainteresowanie


Cyfrowy Baron napisał(a):... ale to co ty chciałeś zrobić to jest rzutowanie, ale w przypadku rzutowania, obiekt na który rzutujesz inny obiekt nie jest obiektem samodzielnym czyli nadal masz jeden obiekt:
- Kod: Zaznacz cały
TImage *Image1;
Image1 = new TImage(this);
Image1->Parent = this;
TImage *Image2 = Image1;
Przy rzutowaniu de facto wciąż dysponujesz tylko jednym obiektem.

duf napisał(a):że mam dwa wskaźniki do jednego obiektu.

Cyfrowy Baron napisał(a):duf napisał(a):że mam dwa wskaźniki do jednego obiektu.
To oczywiście nieprawda. Masz jeden obiekt i jeden wskaźnik na ten obiekt, chyba, że rozumiesz to w ten sposób, że obiekt jest wskaźnikiem na samego siebie.
TImage *Image2 = Image1;

Cyfrowy Baron napisał(a):Image2 jest wskaźnikiem na Image1, a gdzie masz drugi wskaźnik, bo Image1 jest obiektem nie wskaźnikiem.

newimage = new TImage(this);
newimage->Width = 950;
newimage->Height = 1280;
newimage->Proportional = true;
newimage->Picture->LoadFromFile( plik.bmp );
newimage->Canvas->Brush->Style = bsClear;
newimage->Canvas->TextOut( 545, 80, "cos tam" );
Graphics::TBitmap* bmp = new Graphics::TBitmap;
bmp->kopiuję
newimage->Canvas->TextOut( 70, 73, "1" );
newimage->Picture->Assign( bmp );
newimage->Canvas->Brush->Style = bsClear;
newimage->Canvas->TextOut( 70, 73, "2" );bmp->Canvas->CopyRect(Rect(0, 0, newimage->Width, newimage->Height), newimage->Canvas, Rect(0, 0, newimage->Width, newimage->Height));bmp->Assign(newimage->Picture);
Powrót do Ogólne problemy z programowaniem
Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 2 gości