regiunea de copiere

regiunea de copiere

Cum pot copia o regiune (de exemplu, un cerc sau orice altă formă), cu o schiță a unui component pe alta panza, cu care, desigur, sub cercul rămas deasupra zonei vizibile.

> În același timp, care, desigur, sub cercul rămas deasupra zonei vizibile.

Aici nu este destul de clar;)

a explicat slab) Îmi cer scuze.

Să ne uităm la un exemplu. Există un „bar“ pe panza ei (de-a lungul panoului) ceva desenat. Mai există un „capac“ pe pânza de unde doriți să copiați cerc la primul, plasându-l în centru și nu pentru a reinstala faptul că puteți vedea exteriorul cercului.

În contextul de urgență, setați SelectClipRgn (rotund la dimensiunea CreateEllipticRgn)

Voprosets încă. Acesta poate fi mai ușor:
Este posibil pentru a da un panou circular? Ie există unele de sprijin pentru ea rundă agățat „panou“, care este desenată pe completă dimensiunea imaginii panza încercuit dreptunghi, dar datorită faptului că bara este setată regiunea excedent (cerc) foarte „tăiat“.

Eu întreb podtoklnut ideea. În WinAPI nu este puternică (

Îmi cer scuze pentru formularea, nu știu cât de ușor de explicat), dar cred că mai mult sau mai puțin clare.

Care e rahat, regiunea nu poate aminti. )


> Care e rahat, regiunea nu poate aminti. )

Oh. Am 10 poze. CombineRgn crea același număr de regiuni (de exemplu, într-o matrice). Dar, de îndată ce fac eu SetWindowRgn # XA0; regiunea anterioară merge în uitare.

> Regiunea nu poate aminti
GetRgnData
ExtCreateRgn

Hmm, să încercăm

Ei bine, de fapt, eu sunt leneș, așa că explica situația.
Am skrinmeyt care fluturau în mod activ aripile sale. Primul lucru care vine în minte este atunci când apelați următoarea procesare a imaginii ei și se taie toate inutile regiune. Simplu, dar foarte intens procesorul. Al doilea lucru care vine în minte - este de a crea o matrice și completați toate regiunile pentru toate imaginile. DAR! La apelurile ulterioare regiunea matrice obținem nimic, dar nu din regiune. M-am dus în altă parte. Ca rezultat, încărcarea procesorului nu este mai mare de 10%, nici o prelucrare a imaginii, dar fiecare apel CombineRgn timp. Dar GetRgnData și ExtCreateRgn într-adevăr ne permit să rezolve problema?

Rezultatul Regiunea gata:


functioneaza CreateRgn (index. byte). HRGN;
var # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0;
x # XA0; # XA0;. întreg;
RGN # XA0;. HRGN;
RgnDt. RGNDATA;
formă # XA0;: xForm;

începe
Rezultatul: = CreateRectRgn (0, 0, lățime, înălțime);
.
// O pereche de linii pentru a crea în regiune bazată pe imaginea
GetRegionData (rezultat, sizeof (RgnDT), @RgnDt);
Rezultatul: = ExtCreateRegion (@form, sizeof (RgnDt), RgnDt)
se încheie;

La ieșire avem 0.


> Și acolo, se pare că prin canvas.pixels [] este de lucru. meu
> Drepturile Telepator?

NO. Acolo, totul trece prin HDC. Din moment ce eu iubesc WinAPI, faptul de orice vorbire pânză și nu poate fi. skrinmeyt mea cu imagini cântărește 40 de kilograme.

Sunt confuz de ultimul parametru ExtCreateRegion - cere constantă. Și am o variabilă acolo. Deși este scris în certificatul care funcționează împreună cu ExtCreateRegion GetRegionData. Și ce fel de structură XFORM? Am încercat să înlocuiască zero - rezultatul este, de asemenea, nul. Ca și în RGNDT scris ceva, dar nu au fost retrase.

Poate cineva să aibă un exemplu de lucru !?

> parovoZZ
Postarea mea cu ExtCreateRgn se referă la termen lung # XA0; regiunea de conservare (de exemplu, șurub)
Pentru depozitarea temporară suficient ca Igor sfătuiți

Deci, în timp ce în memoria lui se poate „arde“? Am ceva nu funcționează. Și în certificatul este scris, că regiunea poate fi numit mai mult decât o dată.