област копие
област копие
Как мога да копирате даден регион (например кръг или всяка друга форма), с кратко описание на един компонент на друго платно, с които, разбира се, в рамките на кръга задържа над видимата област.
> В същото време, които, разбира се, в рамките на кръга остава над видимата област.
Ето това не е съвсем ясно;)
Лошо е обяснено) Извинявам се.
Нека разгледаме един пример. Налице е "бар" на нея платно (целия панел) нещо, изготвен. Има и друг "капак" на платното, където искате да копирате на кръга с първото, което я поставя в центъра, а не да преинсталирате от факта, че можете да видите от външната страна на кръга.
В контекста на спешни случаи, определени SelectClipRgn (кръг с размер CreateEllipticRgn)
Voprosets все още. То може да бъде по-лесно да:
Възможно ли е да се даде кръгъл панел? Т.е. има някаква подкрепа за нея висящи кръг "панел", който е съставен на платно пълен размер на изображението кръг правоъгълник, но поради факта, че таванът е поставен много регион (кръг) излишък "отрязани".
Аз питам podtoklnut идеята. В WinAPI не е силна (
Извинявам се за текста, аз не знам колко е лесно да се обясни), но мисля, че повече или по-малко ясно.
Какво е лайна, регионът не мога да си спомня. )
> Какво е лайна, регионът не мога да си спомня. )
О. Имам 10 снимки. CombineRgn създаде същия брой области (например, в масив). Но веднага след като аз правя SetWindowRgn # XA0; предишния област отива в забвение.
> В района не мога да си спомня
GetRgnData
ExtCreateRgn
Хм, нека да се опитаме
Ами, всъщност аз съм мързелив, така че да обясни ситуацията.
Имам skrinmeyt, които активно се размахват крилата си. Първото нещо, което идва на ум е, когато ти се обадя следното изображение й обработка и нарязани всички ненужни регион. Обикновено, но много интензивно процесора. Второто нещо, което идва на ум - е да се създаде масив и да попълните във всички региони на всички снимки. НО! При следващи разговори към района на масива получаваме нищо, но не и в региона. Отидох в другата посока. В резултат на това натоварването на процесора не е повече от 10%, без обработка на изображения, но всеки път CombineRgn повикване. Но GetRgnData и ExtCreateRgn наистина да ни позволи да се реши проблема?
готов регион резултат:
функционира CreateRgn (индекс. байт). HRGN;
Var # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0;
х # XA0; # XA0. цяло число;
RGN # XA0. HRGN;
RgnDt. RGNDATA;
форма # XA0;: XForm;
започвам
резултат: = CreateRectRgn (0, 0, ширина, височина);
.
// Двойка линии, за да се създаде в региона на базата на изображението
GetRegionData (резултат SizeOf (RgnDT), @RgnDt);
резултат: = ExtCreateRegion (@form, SizeOf (RgnDt), RgnDt)
приключи;
На изхода имаме 0.
> И там, очевидно чрез canvas.pixels [] работа е. мой
> Права Telepator?
NO. Там, всичко минава през HDC. Тъй като аз обичам WinAPI, фактът, че всяко платно словото и не може да бъде. Моят skrinmeyt с изображения тежи 40 килограма.
Аз съм объркана от последния параметър ExtCreateRegion - пита постоянно. И аз имам една променлива там. Въпреки, че е писано в сертификата, който работи във връзка с ExtCreateRegion GetRegionData. И каква структура XForm? Опитах се да замести нула - резултатът е също нула. Както и в RGNDT нещо написано, но не са оттеглени.
Може ли някой да имате работещ например !?
> parovoZZ
Моето мнение с ExtCreateRgn се отнася до дългосрочно # XA0 участък опазване (например, винтови)
За временно съхранение достатъчно, че Игор посъветвани
Така че, докато в паметта му може да "изгори"? Имам нещо не се получи. И в сертификата е писано, че регионът може да се нарече повече от веднъж.