Вверх ↑
Этот топик читают: Гость
Ответов: 321
Рейтинг: 10
#1: 2017-01-29 04:49:11 ЛС | профиль | цитата
Привет ребята, прочесал весь форум через яндекс поиск и ничего не нашлось, хотя кто-то делал как я понял (http://forum.hiasm.com/topic/60446).
Собственно вопрос, возможно ли в hiasm сделать водяные знаки?!
Удивительно, что php без проблем справляется с этой задачей:
‹?php
if (! extension_loaded('gd')) { // Проверяем установку библиотеки GD
echo 'GD не установлено. Обратитесь к администратору вашего сайта!';
exit;
}

$sOrigImg = "pic1.jpg";
$sWmImg = "watermark.png";

$aImgInfo = getimagesize($sOrigImg);
$aWmImgInfo = getimagesize($sWmImg);
if (is_array($aImgInfo) && count($aImgInfo)) {
header ("Content-type: image/png");

$iSrcWidth = $aImgInfo[0];
$iSrcHeight = $aImgInfo[1];

$iFrameSize = 15;

$rImage = imagecreatetruecolor($iSrcWidth+$iFrameSize*2, $iSrcHeight+$iFrameSize*2); // Создаем новое изображение
$rSrcImage = imagecreatefromjpeg($sOrigImg); // Создаем исходное изображение

$aGrid[1] = imagecolorallocate($rImage, 130, 130, 130); // Определяем цвета для прямоугольной области
$aGrid[2] = imagecolorallocate($rImage, 150, 150, 150);
$aGrid[3] = imagecolorallocate($rImage, 170, 170, 170);
$aGrid[4] = imagecolorallocate($rImage, 190, 190, 190);
$aGrid[5] = imagecolorallocate($rImage, 210, 210, 210);
for ($i=1; $i‹=5; $i++) { // Наша маленькая рамка будет содержать 5 прямоугольников для эмуляции градиента
imagefilledrectangle($rImage, $i*3, $i*3, ($iSrcWidth+$iFrameSize*2)-$i*3, ($iSrcHeight+$iFrameSize*2)-$i*3, $aGrid[$i]); // Рисуем заполненный прямоугольник
}

imagecopy($rImage, $rSrcImage, $iFrameSize, $iFrameSize, 0, 0, $iSrcWidth, $iSrcHeight); // Копируем полученное изображение на изображение-источник

if (is_array($aWmImgInfo) && count($aWmImgInfo)) {
$rWmImage = imagecreatefrompng($sWmImg); // Создаем изображение водяного знака
imagecopy($rImage, $rWmImage, $iSrcWidth-$aWmImgInfo[0], $iFrameSize, 0, 0, $aWmImgInfo[0], $aWmImgInfo[1]); // Копируем изображение водяного знака на изображение источник
}

$iTextColor = imagecolorallocate($rImage, 255, 255, 255); // Определяем цвет текста
$sIP = $_SERVER['REMOTE_ADDR']; // Определяем IP посетителя
imagestring($rImage, 5, $iFrameSize*2, $iFrameSize*2, " Адрес: Your IP adress: {$sIP}, {$sOrigImg} - ({$iSrcWidth} x {$iSrcHeight})", $iTextColor); // Рисуем текст

imagepng($rImage); // Выводим изображение
} else {
echo 'Image error!';
exit;
}
?›

Конечно можно делать скриншеты по хэндлу, где заранее будет нужный фон + необходимый текст сверху, но это очень громостко и разрешения дисплея может не хватить.
Интересует не столь накладка изображения на изображение, как текст (label) на изображение и сохранение в jpg например.

Редактировалось 2 раз(а), последний 2017-01-29 04:50:42
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 16884
Рейтинг: 1239
#2: 2017-01-29 09:20:43 ЛС | профиль | цитата
Master4eG писал(а):
прочесал весь форум через яндекс поиск и ничего не нашлось

Add(Img_Tween,13840656,245,175)
{
}
А для кого WIKI или просто "выделить компонент и нажать F1" ??????

Редактировалось 3 раз(а), последний 2017-01-29 09:55:26
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 165
Рейтинг: 6
#3: 2017-01-29 11:26:30 ЛС | профиль | цитата
Add(MainForm,2953706,91,105)
{
Width=414
Height=204
Color=16777215
Caption="Example"
Position=1
link(onCreate,5354773:In,[])
}
Add(Image,4879640,392,147)
{
Left=25
Top=20
Width=100
Height=100
Color=10789024
ViewStyle=4
Picture=[ZIP769C000078DAED5B89735565963F1804240A024D14849090B0B8743B3AAD3D63B7DD6E4393BC35DBCB4B22DA632B6AABA3320EB2EFBBC8BE081292BC3579796B121010BA872E8BB6AD712C4BC7B15D864230C6D08E35FFC19C73BEEFBBF7BB370F6DE8EE02EC4BD5AFEECBBDF75DE0FCEE39E77796DCE799BB0FF8CF9D88E98847250641099FBF475ED7FFD42F38ECC081030797051A9666A0DE40160284255D10587410EA17BE66BD57E22FF277D3B315CE75DE7E8D7144E2BBC947D3FABDD0B0612FD4AF6F86C0BAFD50BBAE056A5747A17619F2B3F83508E0FF3DB8F075685A7C181E5C78089AE6E3CFF30E4360FE21082CD4ED23EE23D067BA4EF60C2C3079E56B8BF01AFE5CB79838EFC29F0F4203FEDC80CF65AEE93D58DC8DC71EF1D9E040FE9BE7BF2EA09FB373F88D7C5EE2D83107EA76BC00D5DB5E00EF56C25CF06C5E04D52F6D84BA0DBB99A3FA356DD0405815850797A7A071690E824BD1664B7B84ED1041E4AE7109DA74D151D35664E7C5C403F1831CCE3BC2FC121FF4DDE0929E3C7CC8675AB838227EE673472CCFFF565C667CD4857F0A35086FE41E70857F0695E19F803B7C2F54B579A1BA2D0855FB7F01FEBDB3C1BFEB19A8D9B110829B364170C33EE4280A81553144181A56C6A06145061A97A16D971CE2E7B27F287BD2FB3CEF1823B8E0A8F013E53BF658A5E224DDFFE2AFC591AE610C65285ED87F7A2E4F1FF80654A5A6823F3D0D7C084F760A78B393C19B29037FF266A84ADC0EFEF61F81277C3754B4DD0FAE962AF0EE7D14AA76CE81AAAD0BA17A13FAD1960550B37931D46E5A0F818DDBD19FF642DDAA1608AC883347EA9D0ECE97B6456ED85724F478677042C717FF1DEAE71E17DFA173E4337F037C54200704E2C29F9B02555D93A13A570A35A972A8E9BC11029DC4CBCDE0C6E3CCC40F6046C71D50D17E1778223F016FF8C7E84B08F42D6FF8E7E06FAD81AA7D0F4135FA5260EB4A6878693734AEEAC038D6038D8B0E71DEA99FF71AA30179695A78CCE442FA8FE153E41B043B4FDFF17C5ED135152A72E5E0469FF0E5CAA0AABB94519D2987DAF414A8CF4C853AE20A79727597C04CBC36335702DEDC24BC7F12B8F17325FA54657A2AB892B7802BFE0FE06EFD39FA512354ED7806EAB6AC80FA97B642C3BA66685C1D83C6E569CC313D9C2F1AE7FFDAE61F1AEC395BE742E5F4BCF75CDEF064CB196EB4A9A7AB14512280DCF832530C78D177BC5DE502DD93C18FBC10E8677E06DECFCF49DE04AEF65BC11DBB837DC813B90FFC213FD4BC3A1BEA772E652DD7B02CC9B93B38F798B4E96133FE28BBDBF3B191CF0F7F0B1FE7E0F732E1837CC287F189DE7FB23371E1425E5C78DE952BE7382620ECAEEE57209E141FCC554EDCEFCD4D055FD734F41FE1379518D73CFBAAD1679E8500E61AF6975571E6C6A87F2847E87C28FBABCFBAE63AA76F5CDE7C54F414631C2A46DB9560FE28657B937D2BBACA18C40BF98DE0C1FAD997957C65A609D067798FF2173E9F9E8E7E7323B831FF78E37781BFAD12AA5F9D05D53B9F83C6ED2F41E3FAFD105C91627BB3267EF1A8C149DDFC0342372F7A9DA1DB9774F4B7D78D97172F3A1F3E19A3C8AE828F52CE191EBE56AAF986E042DD6B70722E3EF03CC543CA351C17533781B7E34EF0B6FD136AE987A066FB5C08BCBC0D82EB5A21B8360CF558E7D42FEF84FA6558EBACCC4270590EEA1674096E48AB2D386AA939BF4B7CB0DD7265467C72A1FD5C683FFE19B930F9901C48DFE07B299E71CED1209FA7E21BE71D092357A1567053FE47FD56D97E1BE798AAFD8D508D750EA166D7F310D8B21A82A89F836BF741C3EA08FA4F52D48FA497E7CA5A46D63146CD62E385FDE732E3E3D9D444782A3D11666726C2A399627822592A803F3F929D08C1AE89985B4A0C1F604EB2E5928F32AB0660945AF9501AC0E065AAB826EFAFEC9A042E8A67E82F94632A423FC63A6706F8F63E0835AF3C03FE2D73B8BE096CDEC87528F98AD99F3962CD2D797DE5F2E223191F09ED88E68E91B0AF6314846363192DF1EFC1CB89B130273D1E9AB225CCC5CCF44D164E7CD2E6C2BE7978B19CB3F2A4FC887C859EE9CDDC08DEF4CD98FB7F00951D7F07AE8EBF67EDEC89DF8D35CEFDE0D9EF83EADD4F4370FD1E685A9EE39A26B8E00004171F30B5595E4E2E2F3EDE8B0C8177A243E0446C08BC111B0A6F860BE1ADD035702252080763D7C09ECED1B038350E1E4D96713DE29731CB9FD5737AB9993706F062F2C13924A37192D5F41B5E277DE7EE9AC2208D5749F9067D8B6A1BE288EA9AAAEDCF4160E346D6CD4D6B634297197C689C183D9BCB8B8F53518093884F111F4706C147E1218C4FE9730CE09D5801BCD65E08DB124530273581E39787F2BFD2BCEADDD76DCCDC081EBCDDC2CEA6EDC53DACA9BBCCFA85B87265457D29BE37595C231DCD31EE167077DE0E2EEA0BB47AB19E791CEAB7AD84BA9521D927167C505F33B8E8D065EB1F7D1130D08B38132A80DED020388B9FCFCAF31FC406C1EBF1ABE1D5C46858982E824773E3A021570CD5683B1F72C3B697F6E6FA51FA0A6901B6AF565B52DE611D2DAFAB5A476905C5A3D262ACC7947EA0E7D3DF83F58C27FC3370BD5207B5DB9742DD861D10588DDA6C5507EB66EA3D132FF9FB2B47ACF5A68A6DE7D5133E72EEE75EE8DC47A23F2C6C7E86409F898BB641F05508F8DA9998F09F8F90A7FF0C5D0587A2236077620C3C9B190781EE09EC1FD42F217BD1FB5C8B71AC26276AF899B9C986ADAB29D6211F33F1DA0CA9A52B908F19E83FF4B91ABF579B157ADAAC47CD18E892F9A6362B7A393ED4CCAEC46D5019B90BDCFB7C3C2F68D8BC199A5E6A16FDE6255DD0B850D48DDC535E24E73158DB508DC3BE843988E66EDCFF27FE961C10C74562B65337FF1C7CCADE80D2DD961E8E7D2E63E7C1E8871ECCD3933B62F0715A82B9907CF4E1B5CF620274BEBF7530FC4F5B21FC363E0A7665AE83F93D13E031D4674D9952A843DB5761DEAFC994703F92EC578979A02227E211E51EB223F13653D69964F7817C94999A59E7431EA966AD96B1D223734C25D69994EFAB5E41BDBCE379A8D9843EB37E33D6337BA17E6D0BCF6F08EC3FEC373483E99671EE9000CDDE169BFC101FD6799BD50FB86E9D77017A5AE76580EED0FC837C218C3697FE7116F9E80D0BDF20502CA36B7D2D43E1D3B66BE0F7ED63A03B390EB6B617C1E2F40478325B0CF59909C8C9248E311599C9061FC401F7272594AF701E91BC88BABF9475027163E805E92F14E3664A288EB9AF969D8EF5E5CD5CC7B8E277B226A3390EE518AE699A1F86AA3D8F712FA06ED31A08AC8CDA728CADD7AFBDBBD67B0EF3CFCACFEC76346700CACEB6BE67BE9E5B9E98A9F8A09C41D0F960BF890A7C8E9FBFA018D67A05F423279FB516C27BE1917038867A3955049B3A8B607EE27A780AF97808F908A4645C51BD959CB0B3E284F850DA2C1F27FAF754FEA058F74017C53B994B141F460D5BCEF50CBF0B9DDF0777E287CC11CDD82AF7CF00CFEE5950B56919FACE2EAC3343105C9910734EFD5D1D305FB4F3659FBBD8F9E81938DBD4B99877EC1BE7CDC447BFCC1B7D1A1F5FB701C7AC3F2217FDE41F0A61E20E737EDB60E4E44AF8247225FC775C68E403A151B02F590CABD11EFFD239091E4997C283E949504B391DF3BEE8CD881C6ED6F1663F52F88109957B4863FB656F66664EE420D55B333434D530C88DD16F469FF1266F0577EA56E6A6327913FAD0EDE0699B897ED3C4B566DD96E5626F605982675DFCFE2FB4C51CE39D3ECCF34C8E7304FA6CEFD718FED563EE0058383D322007D9639CF28F3E3B2721C1C7FF2A9D453E8279E473F615E14B5F206774DF1F4357406FF395F08796E1F0DB8EEB20959C007B12E3B09E1C072BD16F16A0FF3C9D2982D9A8CB1EC98D8787A9EE477D46B9D9AFD7963991E779C622EDADB40041D767159A7E630DA6D53106CF58F753ED4FBE437EC3B9267523B8DAEF0077E80170EFA9E3DE4CD5CB2BA07AFD260860AD592FF705EAD784A06175021AB0F6A49AD3885D9C5F0E58F9B0EB367D2723EF1CEDDC7C187A372CDE7DCA21A711944F3867483EC8478893335133869D0E8918F625F2F225C6B1336D43E0E3E870F497ABE1BFF0F84E7818BC191D06C762C32187354CAC7D04ECEF18833C5D072F602DF348A61882D9524BBE50BD3455A7905F30A41E563AD92375B6EAC770AD4FF331D47C8CDC24E93BB25F267533D73AA969DC6BAE88DF069E4EE4267A37785ADC9C6F6A9A7F09357B9F80DADD5877A2960E6EC0D8B6222AF498DC9F19D8573EF2CDF941F7334BBC1A885E5977D8F93825F596E284E316E510BCE7F3B0D4C7EABBC4197E879EF13972437EF33569B416A1014E637CFB303218DE8E0C8537B0EE3F10BB169A9197F5C92258981CCFFDB3A66CB1D44D6546AE36C031AB4C6AAA122B1F724EC6754BCF4403DE9E49A216D57B675A2F4DF59CBD0727A2EF4C848ACE1B458F26F68F5019FA2954B6DC0FEEBD353C7BAEDDBC1C6A376C85C0DA6608AE8972DE1930AFB1CF3607BCFB47CEB12B60E343E605C3474283F27312269B8B1846382BEB13FA2ED528EA3967A2DAFD21A193E99927C305F051A4003E405EDE8F0C81771127D0770E623DB3B76334D633455CFBB39ED2662ADC43262D902B31EA4FBD8EB4F40398A352AB56A673FA7955B7EA3D1E3AA6854E53A03E9AABE376AE6F5C6DF783A7D505FEE606CE3BBC1B803ABA7159D688631CC338B71C105A8C6A9379FAFC53E415957F542FC1CE958A572AAFF787441E31785175A2B4EFD76D60E47ABA5771409C28287EF5E7297E4FC9E79D95DC536FE658B410B62647C2BFA5C7C213A89967610D13A01D176D2E266698255C7F5AEA457BEF2CABCD64F2F1A4E69CAA1F609BD3A8DEA8C177D7349E415424A742453B6A83B67B7937A07ACB3CD4695B781650BF3C09C1E569D17B269FD1F42ED729BC3B7880EB1DC6C2EE6FAC3F74A83CCEF59FE46580166E1B64E1EC8CCC3767B4DE8BEABFF41A71D044AFCA49F8F9147EF77DF499E3F1A190C21CF34A6224ACC0FCFF64763C0430E753DE7EA0DBAC398CB98B65CE92672EA6F5CA3C9A663067CDE6BCD3AEF32C3D69F97CD270AE7419EF07B8E3B783377C2FEB81BA1D0BA07EE366F697A695296397868179261F1A78C7937668E49EA7D406745471C7F0939095933E8D0FA5BDAC3C1518BCF44A7F386BA931454EEA933EA6F24DBF045D3F897A8D7A99EF4607C36F9097F68E42D8981C052F64AE632DE6E77ABF9CF7925CBADDF4FEBDCE499EFEB1EAABF9A48F0DE4C3DEA7169CB832A22F4D79C7D783DFE9119F799E16FD21789B6BC0BF13F3FFB6451078790304D7EFC6DAA6191A50A71940AE82AB5BD9971A31F7509C23DE68CF8677CA96660D70CD2DED76DA96A3558EEFB56961F59D3E69FF7EE3B3E8B59C6D2B803E04F526457FB2C0D0D046FD29359A8A61FC997ACC88776305EC2F09D46394F39FC17C4FF1CBA5D95BAF21F342E74BCB27FA2E06EB83013E66E7443C8F7575CEEC8FF2AC2D7D0BD734D473A6198DAF4DF6045EFD2554EF791CAA5F7992E79DD41FA8DAFD04D4EC9CC3B927F8F216C1D3EA9080DAC74590DDCCB863D54D4A77596CCF7CC87332EE9C8D98D7888BFE36512F321F61C1A3F239F55DC5BF919FA4BF28BF3A85F9FFEDC830C8C447C0E68EB1C8C904D4C6A23766CC9895CD547EC8C787652EA3ED62283E06F897950FB173239EA7F79BD53E0DDD5F992937F6CFA827E08EDFC53B82D4B77145EE1608DD03EE964AF0BE1A04FF2EE46AFBBF42CDD6F99C87749C41BBD1FBDB27ED6CE4127B9ED7F3BD96238CBEBCF22515C76CF58BCE1BBD037DAD430414AF324EF2BB1112FE752A3418DE0B0F8543B142D896BA169ECB16414397E8291B35A4D4BFAA1F6F8957362EB8EF2F77637D5ABFC6EE43BA6FA81D0F7F66BA40762A9FA37D4037EA41CB7C47EED2D0BE06EFD3306EE2DD4E77E2FBE0A6995A1CF98AFE48ECA685EF66DFD2618F276765FCEF3F07F45C2DEA0E335EA9FAE58C96279887A8E442F91BBE03D403EB977CF487CD7CD5ABFE3DCACFF033E5FB9EC455B02D3D923999959BC0B5BD9A97B016A2DC2235B2616B3B1FC421F3315D1CB5BE80A1A9D4FE86DAA9517B34F85CCA19DE7439EF3893EEF6754F644ED4FEA09553318B53F14DDFE9507EA6761055FF8862B0CAD3663C3263CA9F02FBBD46BE090FF42F4B5FA64DF8A4E1479AA6531A8235B6AC85889323F1E1B0A7F35A988FB54A13FA09C529DE87E899029559318BA7F7D72F7B5E3E9567346DAC6A4C5583F8E58C9378A0794C85B48F5FF635FDD27F549F9A67D5F23B3E9DB76F45D98058A9CE7BB4B9F79F6AF7BF067AB57CA5749DA1B3C3665E5175EA0758AB1CC5D8B53F712D2C41EDF578EE06A8CF8958E1EF9E268E39DA3526FD5362F4512CC89ABAD9A3D946F5CD743EAAB51E8EEA5FFAF240C5B5F33E6AFDEB4B850FD2556764FEF8AA4DE9B34166BE8F9ABAE274DB15F087D6A1DC4B3E1A1B05CD8971F0ABC464A8C6D8E34A889931CD2A67648AC17D50EC8F711D29A1F494697B730E3C53F6F35D7974984523282E6D5AEF828FCA77E5F152E0E374C4D4CA3A1FA47F4FC544FDCFB52A9EFFA2B5004EB70E834F5AAF86E3913170FC0317CC4F95C1338962F4973208A48B79CFDBDD2372819A27564B4E54BC56B149D5901504695F9F3DEF68FC18F568D65A9FFE7930E7A5179B0F557F98F57F8111AF541F997A307D460FED0AF8223C187D65087C181A06C75B86C08903C5D09E180BEBC3D7C2820CCD5D5017A74B0DBBA97EA4EA49AABD18E68A7BF9A6E6527332AE3FB5398B4FE3D2D565AD5FFE129CA8787AD1FD43F52C55BD296B495113C9FEA4ECF52BBDF66544D44BA75AD15FE257C28718C7DEC25AA52752082DEDA36143E77878AE7D1CCCC6D815CC5AE78D8A976A1D99724303183A40F6025CB67999D2602A970FA83BCFE7A8FD3DEAFCC5E4A3CFD6C3EC0B997A57D530466F45CE2995D6260E3F23FFC2EF7E161D049F44AF804FDA87C2FBD1A1703C3C0CD2ED23613372F35C661CF7F255AC211F207FA0DFD163DB77899EB1BFABD8D2AB545ACCAFF694B2621740F7196B9E29BB80A3B5DFECBBC8F95CF5BACE5AFACA261FAA46E57B2203E72F6A56F9B9AC51E95A5F2BC5B802782F3E040EB50F833DC991B0343D96FB93B39097868CDCB394BF2F2976C6454F5EFDFE97E8279719BF2346314DC52F4BFEC8AB5FCF070377692E293EF2F4C9D46E85A5771032EBF9B3B25FA6EB64F21DDAB7FC10F3CEDBF102388A7ED3D25908AB53A3E157E97110C41C43EF3DF7D1A5AEAA907B48D44BA623C534EA9911680F49E91F35CF27AE081EADBE396F7409DDE1EE99C4EF84AB67E2A511AFF473B6BEBE82DEC334B834B828B0E8803311EB0C86FAC76FC68640AA63386CEE1C05F35245C8CB0DF070A684775D3C723765A6B61B467A8C7A003CE3CF993B792207C9BDA58CB61F93BBC0A3DAD3EC16BF877329D483AA06517586B2B5EA15AB1CAF662DA7C3E6DCA54F5EB3F7D5FA2266CF99FA33A4C73E403D7622321CBAE385D086FEB22E358A7BC74DE932A3F6D373BD3F6BD68296DF17D37481CFD28F3CDFE314EE45EAB9E952A83F4E454D4EF43EF2591B1FBDA1026DFE25672ED26F7AB59E5ABFDD7F5A07C35708EA97518F9266C627DA0B20D7310C762646C3D2CEEBE1F9D438782A33019EA4DF85C11A866694B4A724E661A5C62E9E4BD3BC4A27F9FE1C68BF6346BC5C6C3E8CD9A1D6E3577345F57EDB6397885FD2E66AAEA5FC4CC63CDAA7F8BF5671FC4A9B75926F89F997E853FE07EAB163F16190EC28C47A7F046CC778B626590473509751DF9262C87D3DE69EB1C7E89F881ADF65CFC9E7011FD7A925622759F6CA2E76FEB0F71F151FC66C57DFF1D6768BD56CCB989944CCFB55ADFFB576EF8099B1D6473D2967936FA026A39E65B2FD1AD8951805CB9363E1A9DC75BC33F658E606782235019E46D071566E2204BA26F24C398036A5D9CCF91E6907ED41D4D94D52F7D5272F3E1F7A6FD9323FB4BDF3BDF679A46D3E6F7986D6A3EEB5C336D75133029A7FD10ECC498C671F8586F2EED86FA285A8014640243112A258CFC4E2A320111B0DCDF1EFC1DAD458989B29826733E3E1498C731CEB2EE0383B3B81FB09FF9C9C0EBF48DC7249F0916FF6A2F361E1C4B62BA1DE755D03F7E7F307DBF7753E7A2D7BB288D602DEE5A75C43F525ED8DD1AC92387A273C9C77C868F7627FE748D8D5391AB624C7C0B6CEB1E77DDC84589F18036B12D7C3BA8EC9B0BE73FAC5E7C3320BB6CE53ECEFF6B9E29DFD19F9BE7F7EFF06730643FB2F2795EF487C1C1ECCB9E79D28E59F21F0166A69CA43E77D44FC3E360C7115FC2E7A35FC2E32E292E1E36F162A8F69F9CCC1C5C31772BFD6E1E3D2E2C3E0C5B18903070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E2E10FF0FEB17620E]
Point(doRefresh)
}
Add(Button,1540220,308,245)
{
Left=50
Top=130
TabOrder=-1
Caption="Do 1"
link(onClick,4053762:doDraw,[])
}
Add(Img_Text,4053762,392,245)
{
X=30
Y=5
Font=[Calibri,20,1,16777215,1]
Orientation=-45
Text="Example"
link(onDraw,4879640:doRefresh,[(436,251)(436,231)(380,231)(380,167)])
link(Bitmap,2305166:Var2,[])
}
Add(Image,11632085,777,147)
{
Left=150
Top=20
Width=100
Height=100
Color=10789024
ViewStyle=4
}
Add(Button,16633193,525,245)
{
Left=175
Top=130
TabOrder=-1
Caption="Do 2"
link(onClick,3003602:doDraw,[])
}
Add(Img_Text,3003602,609,245)
{
X=30
Y=5
Font=[Calibri,20,1,8421504,1]
Orientation=-45
Text="Example"
link(onDraw,13269838:doEvent1,[])
link(Bitmap,314695:Var2,[])
}
Add(Bitmap,6449524,609,147)
{
HWidth=100
HHeight=100
FillColor=16777215
Point(doCreate)
}
Add(Img_Tween,15191684,777,245)
{
link(onTween,11606564:In,[])
link(BitmapA,2305166:Var3,[(783,201)])
link(BitmapB,314695:Var3,[(790,194)])
}
Add(GetDataEx,314695,609,189)
{
link(Data,6449524:Bitmap,[])
}
Add(Hub,13269838,665,245)
{
link(onEvent1,15191684:doLoad,[])
link(onEvent2,11315469:doData,[])
}
Add(LineBreak,14988561,728,147)
{
Caption="img"
link(Out,11632085:doLoad,[])
Primary=[11606564,98,98]
}
Add(DoData,11315469,714,252)
{
@Hint=#5:0-255|
Data=Integer(200)
link(onEventData,15191684:doTween,[])
AddHint(-43,-40,42,13,@Hint)
}
Add(AlphaBitmap,4684489,938,147)
{
Picture=[ZIP829C000078DAED9D0B94556515C73F06887888A3066132934AF940CCCCA8165912959298AFC4CA721948BE4832292B5C692A15B1A6B44251CB7C918F64400D9C2C1F03629310A58261E2030D24822446301493F6DFF33B8BCBF1DC73CFB95C18576BFF17FF356BEE3DF7B2D6FECEB7F7FEEFBDBF33C33E7DF12FC2EB1866DCCF3806760A7B86CEF673A8BD3FAF77C42DD81CFF73381C0E87C3E170381C0E87C3E1F87FC391C60FB819DE1498607CCE7891712737478762A27123EB719C9BA343F163E37F8CCF1A4F70737428A61A5F323E633CCACDD1A1B89EB578DAF871374787E2DBC6FF1A571B4FCEB8AEA7F11D6EAEED8A2EC6D38D0F1B9F2796EF9B72DDAEC6938CB7193FEC66AB397A95688B9D5987C5C6278DDF35EE5D72EDDB8C5F0E510B76BE71B89BAFA6D8DDD86A7CC87830AFF5314E362E81D21F0DBC3ECEF82A7BE81C375F4D31C0B8887BFD5EEEFD18FD8D971A971A1F450B5E627CC5B8D078869BAFA638D0F8146B31C7B84BCA357B19AF20E75DC15AFCC5382AE37BE5F7BEE8E62D840F1A57B2162DC66E19D76AB447933E7F37BE68BCD6D8BBCCB59F35BE66BC9CCF392AE3A3C675AC4573CECFBCC7781D39D703C6D38CDD13D78C22AEE89AF3DDCCB9D0D7F83BE3CBC485C30A7CF6FDC669C67F1AEFC3FE5D78EF2CE3267CDA783773218CC16EAF121B8AE88721C65B8C2F18EF264E7C9DB8B2DC38D6CD5B15C6E357E4EB2F239EE4C5C7D081EDC6BFB1D7145B46BB59B709E713D3B5263F341E52E0B34718671AFF655C66FCBC9BB326900E5F15A2FE86B4C57B0B7CF613C6F382D77E6B8D1F11A395737DC738A8C0677BBBF9B60B14D757C36FBA767853E097C635E45EAA4BBDCB4D5235BA52EF381E8D51099D525E9396B8995CF61934C55E6EDAAAA0E3495787A836A8185D9F724D37FCBDF2D561E448BB276A259A1DB9DDB8D6F87888EAEA0D6EDEC2D8137FA3FC5575F00B8C3D4ADE579D5CB3213784A886B82144BD0DED879353AE95D6FB37EBAB39869DDDC48531D8F82B62B2EAE1DF62DFEC4D2EDB16A2999DA5D44C541BD4ECC81F8CDFC0E7C56834CE455B489BBCC5CD9B89BA84FD621C4A3D43FE46FDA549E44E5A8307F13F0785A8077B4C887A1ED2D9AA119E98F8AE01E4BF3DDCDC99D0BD3AD0785388EAAE4928364CC7CEFF2067D27EF848D8BADF14D0725A2BCD2F7CCFF74155E8C51E68670FBC3BE59AE1C4E597588F4965B49BF698FA7E9BD82B7DDCBC8511CF762C4453B786A8B79AC4D1C65921AABDAAFF774A99BCF707ACED9C94FDE3C807CD3D7D89FC4779504B997B7B24EFBD86CFFA5C4A5E760D6B76669998E4C88706E2F313C4EF99F8B224BE60FC7D88FA1D77A119639C1DA27AF96C72014736A4D5E2FA5EF794F7A59FC79297BE408CEF9C729D7A79F787A88E7B2771FC6CF6C5A3AC99A3724E3B9ADA856CA81EC33E614B8F3486E2F9B921AA3BAD4117A6E174F25A69C1C5AC85F4C8696EEA5C502DA399DC6733EBB298B8312471EDFE21AACBAE410F5E5EE63BC7A10BE33304A7B8990BE1ABDCC7EB43D4A358414E15EBEF21257B6910759276AE6DCAD8273F0B7E9EA31A0C24162B87520D7C02FE682DB14039EA9410CDB6F50B517F2F3ECFB48A3A49128A2F7DDDB499E814D26BE0CA97AE627FDCC56B7DD01F3FC537A987FD27E30CE350EA1E93F1712B594347B1B5E8CBFD9F96E768EE49B3204F87ADE706B41F34AB33159DBE9AFAC834E247337590E783CF7E14C5187CCC4368B8644E7B3D7144FE275963D27E69644FCC622FC5679BD6B37F9A82F7BAF3EC8B18EA4DFC063BB651EB28C519C469C5F30F95F9BECEE4C3CAA1EE602D9493DD43FEE5C8D679BD139A58B37EEA03A92FA1DAF8E1893D320B7FA4BDD4B3C2F7EFCFE7D573EDEFE6AE889EEC07D9383E03D3051D7D1F39ADFA4187955CDF449E35BBC0FFD3C54D9D0B238C8F91FF1C511213BAA3971FA0FED15AE29F0EC45F3D4B7EE5A81D64FF16F29FD909FF233FA69AD41FD1DBF7A02BF6206F8AE3FA5BDD8C355D8FE3B8DF55333F3611DF7723FF5D88D69E4D4C38957DB32A23AE3BAAC3FBC8A5B447268537D66FA52F3467F0087EAD99FAC80CE2FA9921BDBEEEA87E3DE685A82FA1BC34ED39080DE8EBBFB297D483FD397EEC4E3761CD205F7323367E111FA4331969736CCA752F0CD1DCC17368C6F5FCEE3DA4FC79E6DBCBBCA71CF62662C0ADF81FD5BF1794598F80CE530C5F16A25AE226E2FD216EEA8AE8818EB8173DD658F2DE278DBFA686A173AAAA4D696E79093EE8BC8CEF553DFDFB219A2F5C4AFC7054866AE4F7730FAB37ADFADE57D01C33D07A53D1815D89DB93F1413784EC7959E558C3823F172C0F34E33A123FA5B3439A2FD3B93AF54797E36BD6B32FA427EA4A3E2BFBAEE6DA913972654736A41DC661CFF1FC5EC79EB88058D10E1F643D1A13F5932B8823D785680EC7513DD4BF9882766E4A6867693B9D5FBDD2F867AE51CD433DD3A38837AACD8E262E2C21567472B3560DED85AFB13F1684F4B3459A4FE88F7E6863AFA83E38117DAEF334AA5B6D64ED1CDB06D5B735FFA133D9FB65F8B56EC46469F2C7D92F8FB00613C9035AC31B67481CC5A07B7F11B1E2AC1CF1461A4533FF17B157D611EF5F26F73D21A4CFB639B6B66308E9B5D55D89C9F2371787EC67E694A21E8DF89310D5E0B59E9A1BD9D7CD9D896EF8783DEFF15434F33B13F7B07486EA51BF0DC5CF426A46FA00F2B14637774528EF9F855F510DFC49EA1DE790D7EA3E57DFFB09E248B536AD7353E7F253BB60F7266A218BC9A73612C35BD07A2BF139D2233BE1C73C77AD1D64CF51FC0CD8B81E0D7E2EF9EB536871E5AF9BE10AEA269A673B9E7CA90735125F9FEA209DFC30FB61448A1DF57B3FFCFEA742F45CBB0525EBB10CCDBD8158ADFD73217A6F1F376F210C2416A8163B3D54FE3B0B5DE1EDE4AD9A133912FF36937559C71E920ED77CC90037732EA80EBE1C1D7063C83F3BA0EB74CE453D0A3DB3ABA1A49E129F816963BF5DE266CE053DEF51FD3AD55BAFAEE2F347A3E9947F0D4DBC17CF961FE066CE85E1E44B6BD067D5FAB936D6F4F0E06724AB85F4B0E6065E212FEA9311277A85F235F13AE285BE4735DCEE6EDAAAA07ED235F8A9F9E887FA148DAE98A0FE9EFA4D7BA47C8FE2FE0462FAADC1FFDED2B640B66E26A752DF483DEA9E25B1BA91FC6915B96BBF32DAF133E453AADF0E76B36E1306A1B59597B686689EBC1EFF7437FA5BB9EA4119DF7128EBB9C86377CDD644B66F4747E8ECEA5C72E0E9215FED750A1AD1511B0C660D36B05794734D0BD9BD6D9D373BD84DB75DB5C8BCB0E5BC76D6D9F966EA23633DA7DAAE50AF68011A4F363F3625E76AC1B7CDF778B143A07C49B3FFEA35E9D95323785D35F839F8B3B9C17B7A3B7A4D54EB55ED5635AD93D8376B89FDDED3DBF1D039573D0F6713EBA09A88CEB2FAF30E3A0E8AD78FA1E3F5BC543FD7DDF1D0332934D3E3B54287C3E170381C0E87C3E170382AE07FD7874B58]
HWidth=100
HHeight=100
FillColor=16777215
Point(doCreate)
}
Add(Image,13253649,1050,147)
{
Left=275
Top=20
Width=100
Height=100
Color=10789024
ViewStyle=4
Picture=[ZIP769C000078DAED5B89735565963F1804240A024D14849090B0B8743B3AAD3D63B7DD6E4393BC35DBCB4B22DA632B6AABA3320EB2EFBBC8BE081292BC3579796B121010BA872E8BB6AD712C4BC7B15D864230C6D08E35FFC19C73BEEFBBF7BB370F6DE8EE02EC4BD5AFEECBBDF75DE0FCEE39E77796DCE799BB0FF8CF9D88E98847250641099FBF475ED7FFD42F38ECC081030797051A9666A0DE40160284255D10587410EA17BE66BD57E22FF277D3B315CE75DE7E8D7144E2BBC947D3FABDD0B0612FD4AF6F86C0BAFD50BBAE056A5747A17619F2B3F83508E0FF3DB8F075685A7C181E5C78089AE6E3CFF30E4360FE21082CD4ED23EE23D067BA4EF60C2C3079E56B8BF01AFE5CB79838EFC29F0F4203FEDC80CF65AEE93D58DC8DC71EF1D9E040FE9BE7BF2EA09FB373F88D7C5EE2D83107EA76BC00D5DB5E00EF56C25CF06C5E04D52F6D84BA0DBB99A3FA356DD0405815850797A7A071690E824BD1664B7B84ED1041E4AE7109DA74D151D35664E7C5C403F1831CCE3BC2FC121FF4DDE0929E3C7CC8675AB838227EE673472CCFFF565C667CD4857F0A35086FE41E70857F0695E19F803B7C2F54B579A1BA2D0855FB7F01FEBDB3C1BFEB19A8D9B110829B364170C33EE4280A81553144181A56C6A06145061A97A16D971CE2E7B27F287BD2FB3CEF1823B8E0A8F013E53BF658A5E224DDFFE2AFC591AE610C65285ED87F7A2E4F1FF80654A5A6823F3D0D7C084F760A78B393C19B29037FF266A84ADC0EFEF61F81277C3754B4DD0FAE962AF0EE7D14AA76CE81AAAD0BA17A13FAD1960550B37931D46E5A0F818DDBD19FF642DDAA1608AC883347EA9D0ECE97B6456ED85724F478677042C717FF1DEAE71E17DFA173E4337F037C54200704E2C29F9B02555D93A13A570A35A972A8E9BC11029DC4CBCDE0C6E3CCC40F6046C71D50D17E1778223F016FF8C7E84B08F42D6FF8E7E06FAD81AA7D0F4135FA5260EB4A6878693734AEEAC038D6038D8B0E71DEA99FF71AA30179695A78CCE442FA8FE153E41B043B4FDFF17C5ED135152A72E5E0469FF0E5CAA0AABB94519D2987DAF414A8CF4C853AE20A79727597C04CBC36335702DEDC24BC7F12B8F17325FA54657A2AB892B7802BFE0FE06EFD39FA512354ED7806EAB6AC80FA97B642C3BA66685C1D83C6E569CC313D9C2F1AE7FFDAE61F1AEC395BE742E5F4BCF75CDEF064CB196EB4A9A7AB14512280DCF832530C78D177BC5DE502DD93C18FBC10E8677E06DECFCF49DE04AEF65BC11DBB837DC813B90FFC213FD4BC3A1BEA772E652DD7B02CC9B93B38F798B4E96133FE28BBDBF3B191CF0F7F0B1FE7E0F732E1837CC287F189DE7FB23371E1425E5C78DE952BE7382620ECAEEE57209E141FCC554EDCEFCD4D055FD734F41FE1379518D73CFBAAD1679E8500E61AF6975571E6C6A87F2847E87C28FBABCFBAE63AA76F5CDE7C54F414631C2A46DB9560FE28657B937D2BBACA18C40BF98DE0C1FAD997957C65A609D067798FF2173E9F9E8E7E7323B831FF78E37781BFAD12AA5F9D05D53B9F83C6ED2F41E3FAFD105C91627BB3267EF1A8C149DDFC0342372F7A9DA1DB9774F4B7D78D97172F3A1F3E19A3C8AE828F52CE191EBE56AAF986E042DD6B70722E3EF03CC543CA351C17533781B7E34EF0B6FD136AE987A066FB5C08BCBC0D82EB5A21B8360CF558E7D42FEF84FA6558EBACCC4270590EEA1674096E48AB2D386AA939BF4B7CB0DD7265467C72A1FD5C683FFE19B930F9901C48DFE07B299E71CED1209FA7E21BE71D092357A1567053FE47FD56D97E1BE798AAFD8D508D750EA166D7F310D8B21A82A89F836BF741C3EA08FA4F52D48FA497E7CA5A46D63146CD62E385FDE732E3E3D9D444782A3D11666726C2A399627822592A803F3F929D08C1AE89985B4A0C1F604EB2E5928F32AB0660945AF9501AC0E065AAB826EFAFEC9A042E8A67E82F94632A423FC63A6706F8F63E0835AF3C03FE2D73B8BE096CDEC87528F98AD99F3962CD2D797DE5F2E223191F09ED88E68E91B0AF6314846363192DF1EFC1CB89B130273D1E9AB225CCC5CCF44D164E7CD2E6C2BE7978B19CB3F2A4FC887C859EE9CDDC08DEF4CD98FB7F00951D7F07AE8EBF67EDEC89DF8D35CEFDE0D9EF83EADD4F4370FD1E685A9EE39A26B8E00004171F30B5595E4E2E2F3EDE8B0C8177A243E0446C08BC111B0A6F860BE1ADD035702252080763D7C09ECED1B038350E1E4D96713DE29731CB9FD5737AB9993706F062F2C13924A37192D5F41B5E277DE7EE9AC2208D5749F9067D8B6A1BE288EA9AAAEDCF4160E346D6CD4D6B634297197C689C183D9BCB8B8F53518093884F111F4706C147E1218C4FE9730CE09D5801BCD65E08DB124530273581E39787F2BFD2BCEADDD76DCCDC081EBCDDC2CEA6EDC53DACA9BBCCFA85B87265457D29BE37595C231DCD31EE167077DE0E2EEA0BB47AB19E791CEAB7AD84BA9521D927167C505F33B8E8D065EB1F7D1130D08B38132A80DED020388B9FCFCAF31FC406C1EBF1ABE1D5C46858982E824773E3A021570CD5683B1F72C3B697F6E6FA51FA0A6901B6AF565B52DE611D2DAFAB5A476905C5A3D262ACC7947EA0E7D3DF83F58C27FC3370BD5207B5DB9742DD861D10588DDA6C5507EB66EA3D132FF9FB2B47ACF5A68A6DE7D5133E72EEE75EE8DC47A23F2C6C7E86409F898BB641F05508F8DA9998F09F8F90A7FF0C5D0587A2236077620C3C9B190781EE09EC1FD42F217BD1FB5C8B71AC26276AF899B9C986ADAB29D6211F33F1DA0CA9A52B908F19E83FF4B91ABF579B157ADAAC47CD18E892F9A6362B7A393ED4CCAEC46D5019B90BDCFB7C3C2F68D8BC199A5E6A16FDE6255DD0B850D48DDC535E24E73158DB508DC3BE843988E66EDCFF27FE961C10C74562B65337FF1C7CCADE80D2DD961E8E7D2E63E7C1E8871ECCD3933B62F0715A82B9907CF4E1B5CF620274BEBF7530FC4F5B21FC363E0A7665AE83F93D13E031D4674D9952A843DB5761DEAFC994703F92EC578979A02227E211E51EB223F13653D69964F7817C94999A59E7431EA966AD96B1D223734C25D69994EFAB5E41BDBCE379A8D9843EB37E33D6337BA17E6D0BCF6F08EC3FEC373483E99671EE9000CDDE169BFC101FD6799BD50FB86E9D77017A5AE76580EED0FC837C218C3697FE7116F9E80D0BDF20502CA36B7D2D43E1D3B66BE0F7ED63A03B390EB6B617C1E2F40478325B0CF59909C8C9248E311599C9061FC401F7272594AF701E91BC88BABF9475027163E805E92F14E3664A288EB9AF969D8EF5E5CD5CC7B8E277B226A3390EE518AE699A1F86AA3D8F712FA06ED31A08AC8CDA728CADD7AFBDBBD67B0EF3CFCACFEC76346700CACEB6BE67BE9E5B9E98A9F8A09C41D0F960BF890A7C8E9FBFA018D67A05F423279FB516C27BE1917038867A3955049B3A8B607EE27A780AF97808F908A4645C51BD959CB0B3E284F850DA2C1F27FAF754FEA058F74017C53B994B141F460D5BCEF50CBF0B9DDF0777E287CC11CDD82AF7CF00CFEE5950B56919FACE2EAC3343105C9910734EFD5D1D305FB4F3659FBBD8F9E81938DBD4B99877EC1BE7CDC447BFCC1B7D1A1F5FB701C7AC3F2217FDE41F0A61E20E737EDB60E4E44AF8247225FC775C68E403A151B02F590CABD11EFFD239091E4997C283E949504B391DF3BEE8CD881C6ED6F1663F52F88109957B4863FB656F66664EE420D55B333434D530C88DD16F469FF1266F0577EA56E6A6327913FAD0EDE0699B897ED3C4B566DD96E5626F605982675DFCFE2FB4C51CE39D3ECCF34C8E7304FA6CEFD718FED563EE0058383D322007D9639CF28F3E3B2721C1C7FF2A9D453E8279E473F615E14B5F206774DF1F4357406FF395F08796E1F0DB8EEB20959C007B12E3B09E1C072BD16F16A0FF3C9D2982D9A8CB1EC98D8787A9EE477D46B9D9AFD7963991E779C622EDADB40041D767159A7E630DA6D53106CF58F753ED4FBE437EC3B9267523B8DAEF0077E80170EFA9E3DE4CD5CB2BA07AFD260860AD592FF705EAD784A06175021AB0F6A49AD3885D9C5F0E58F9B0EB367D2723EF1CEDDC7C187A372CDE7DCA21A711944F3867483EC8478893335133869D0E8918F625F2F225C6B1336D43E0E3E870F497ABE1BFF0F84E7818BC191D06C762C32187354CAC7D04ECEF18833C5D072F602DF348A61882D9524BBE50BD3455A7905F30A41E563AD92375B6EAC770AD4FF331D47C8CDC24E93BB25F267533D73AA969DC6BAE88DF069E4EE4267A37785ADC9C6F6A9A7F09357B9F80DADD5877A2960E6EC0D8B6222AF498DC9F19D8573EF2CDF941F7334BBC1A885E5977D8F93825F596E284E316E510BCE7F3B0D4C7EABBC4197E879EF13972437EF33569B416A1014E637CFB303218DE8E0C8537B0EE3F10BB169A9197F5C92258981CCFFDB3A66CB1D44D6546AE36C031AB4C6AAA122B1F724EC6754BCF4403DE9E49A216D57B675A2F4DF59CBD0727A2EF4C848ACE1B458F26F68F5019FA2954B6DC0FEEBD353C7BAEDDBC1C6A376C85C0DA6608AE8972DE1930AFB1CF3607BCFB47CEB12B60E343E605C3474283F27312269B8B1846382BEB13FA2ED528EA3967A2DAFD21A193E99927C305F051A4003E405EDE8F0C81771127D0770E623DB3B76334D633455CFBB39ED2662ADC43262D902B31EA4FBD8EB4F40398A352AB56A673FA7955B7EA3D1E3AA6854E53A03E9AABE376AE6F5C6DF783A7D505FEE606CE3BBC1B803ABA7159D688631CC338B71C105A8C6A9379FAFC53E415957F542FC1CE958A572AAFF787441E31785175A2B4EFD76D60E47ABA5771409C28287EF5E7297E4FC9E79D95DC536FE658B410B62647C2BFA5C7C213A89967610D13A01D176D2E266698255C7F5AEA457BEF2CABCD64F2F1A4E69CAA1F609BD3A8DEA8C177D7349E415424A742453B6A83B67B7937A07ACB3CD4695B781650BF3C09C1E569D17B269FD1F42ED729BC3B7880EB1DC6C2EE6FAC3F74A83CCEF59FE46580166E1B64E1EC8CCC3767B4DE8BEABFF41A71D044AFCA49F8F9147EF77DF499E3F1A190C21CF34A6224ACC0FCFF64763C0430E753DE7EA0DBAC398CB98B65CE92672EA6F5CA3C9A663067CDE6BCD3AEF32C3D69F97CD270AE7419EF07B8E3B783377C2FEB81BA1D0BA07EE366F697A695296397868179261F1A78C7937668E49EA7D406745471C7F0939095933E8D0FA5BDAC3C1518BCF44A7F386BA931454EEA933EA6F24DBF045D3F897A8D7A99EF4607C36F9097F68E42D8981C052F64AE632DE6E77ABF9CF7925CBADDF4FEBDCE499EFEB1EAABF9A48F0DE4C3DEA7169CB832A22F4D79C7D783DFE9119F799E16FD21789B6BC0BF13F3FFB6451078790304D7EFC6DAA6191A50A71940AE82AB5BD9971A31F7509C23DE68CF8677CA96660D70CD2DED76DA96A3558EEFB56961F59D3E69FF7EE3B3E8B59C6D2B803E04F526457FB2C0D0D046FD29359A8A61FC997ACC88776305EC2F09D46394F39FC17C4FF1CBA5D95BAF21F342E74BCB27FA2E06EB83013E66E7443C8F7575CEEC8FF2AC2D7D0BD734D473A6198DAF4DF6045EFD2554EF791CAA5F7992E79DD41FA8DAFD04D4EC9CC3B927F8F216C1D3EA9080DAC74590DDCCB863D54D4A77596CCF7CC87332EE9C8D98D7888BFE36512F321F61C1A3F239F55DC5BF919FA4BF28BF3A85F9FFEDC830C8C447C0E68EB1C8C904D4C6A23766CC9895CD547EC8C787652EA3ED62283E06F897950FB173239EA7F79BD53E0DDD5F992937F6CFA827E08EDFC53B82D4B77145EE1608DD03EE964AF0BE1A04FF2EE46AFBBF42CDD6F99C87749C41BBD1FBDB27ED6CE4127B9ED7F3BD96238CBEBCF22515C76CF58BCE1BBD037DAD430414AF324EF2BB1112FE752A3418DE0B0F8543B142D896BA169ECB16414397E8291B35A4D4BFAA1F6F8957362EB8EF2F77637D5ABFC6EE43BA6FA81D0F7F66BA40762A9FA37D4037EA41CB7C47EED2D0BE06EFD3306EE2DD4E77E2FBE0A6995A1CF98AFE48ECA685EF66DFD2618F276765FCEF3F07F45C2DEA0E335EA9FAE58C96279887A8E442F91BBE03D403EB977CF487CD7CD5ABFE3DCACFF033E5FB9EC455B02D3D923999959BC0B5BD9A97B016A2DC2235B2616B3B1FC421F3315D1CB5BE80A1A9D4FE86DAA9517B34F85CCA19DE7439EF3893EEF6754F644ED4FEA09553318B53F14DDFE9507EA6761055FF8862B0CAD3663C3263CA9F02FBBD46BE090FF42F4B5FA64DF8A4E1479AA6531A8235B6AC85889323F1E1B0A7F35A988FB54A13FA09C529DE87E899029559318BA7F7D72F7B5E3E9567346DAC6A4C5583F8E58C9378A0794C85B48F5FF635FDD27F549F9A67D5F23B3E9DB76F45D98058A9CE7BB4B9F79F6AF7BF067AB57CA5749DA1B3C3665E5175EA0758AB1CC5D8B53F712D2C41EDF578EE06A8CF8958E1EF9E268E39DA3526FD5362F4512CC89ABAD9A3D946F5CD743EAAB51E8EEA5FFAF240C5B5F33E6AFDEB4B850FD2556764FEF8AA4DE9B34166BE8F9ABAE274DB15F087D6A1DC4B3E1A1B05CD8971F0ABC464A8C6D8E34A889931CD2A67648AC17D50EC8F711D29A1F494697B730E3C53F6F35D7974984523282E6D5AEF828FCA77E5F152E0E374C4D4CA3A1FA47F4FC544FDCFB52A9EFFA2B5004EB70E834F5AAF86E3913170FC0317CC4F95C1338962F4973208A48B79CFDBDD2372819A27564B4E54BC56B149D5901504695F9F3DEF68FC18F568D65A9FFE7930E7A5179B0F557F98F57F8111AF541F997A307D460FED0AF8223C187D65087C181A06C75B86C08903C5D09E180BEBC3D7C2820CCD5D5017A74B0DBBA97EA4EA49AABD18E68A7BF9A6E6527332AE3FB5398B4FE3D2D565AD5FFE129CA8787AD1FD43F52C55BD296B495113C9FEA4ECF52BBDF66544D44BA75AD15FE257C28718C7DEC25AA52752082DEDA36143E77878AE7D1CCCC6D815CC5AE78D8A976A1D99724303183A40F6025CB67999D2602A970FA83BCFE7A8FD3DEAFCC5E4A3CFD6C3EC0B997A57D530466F45CE2995D6260E3F23FFC2EF7E161D049F44AF804FDA87C2FBD1A1703C3C0CD2ED23613372F35C661CF7F255AC211F207FA0DFD163DB77899EB1BFABD8D2AB545ACCAFF694B2621740F7196B9E29BB80A3B5DFECBBC8F95CF5BACE5AFACA261FAA46E57B2203E72F6A56F9B9AC51E95A5F2BC5B802782F3E040EB50F833DC991B0343D96FB93B39097868CDCB394BF2F2976C6454F5EFDFE97E8279719BF2346314DC52F4BFEC8AB5FCF070377692E293EF2F4C9D46E85A5771032EBF9B3B25FA6EB64F21DDAB7FC10F3CEDBF102388A7ED3D25908AB53A3E157E97110C41C43EF3DF7D1A5AEAA907B48D44BA623C534EA9911680F49E91F35CF27AE081EADBE396F7409DDE1EE99C4EF84AB67E2A511AFF473B6BEBE82DEC334B834B828B0E8803311EB0C86FAC76FC68640AA63386CEE1C05F35245C8CB0DF070A684775D3C723765A6B61B467A8C7A003CE3CF993B792207C9BDA58CB61F93BBC0A3DAD3EC16BF877329D483AA06517586B2B5EA15AB1CAF662DA7C3E6DCA54F5EB3F7D5FA2266CF99FA33A4C73E403D7622321CBAE385D086FEB22E358A7BC74DE932A3F6D373BD3F6BD68296DF17D37481CFD28F3CDFE314EE45EAB9E952A83F4E454D4EF43EF2591B1FBDA1026DFE25672ED26F7AB59E5ABFDD7F5A07C35708EA97518F9266C627DA0B20D7310C762646C3D2CEEBE1F9D438782A33019EA4DF85C11A866694B4A724E661A5C62E9E4BD3BC4A27F9FE1C68BF6346BC5C6C3E8CD9A1D6E3577345F57EDB6397885FD2E66AAEA5FC4CC63CDAA7F8BF5671FC4A9B75926F89F997E853FE07EAB163F16190EC28C47A7F046CC778B626590473509751DF9262C87D3DE69EB1C7E89F881ADF65CFC9E7011FD7A925622759F6CA2E76FEB0F71F151FC66C57DFF1D6768BD56CCB989944CCFB55ADFFB576EF8099B1D6473D2967936FA026A39E65B2FD1AD8951805CB9363E1A9DC75BC33F658E606782235019E46D071566E2204BA26F24C398036A5D9CCF91E6907ED41D4D94D52F7D5272F3E1F7A6FD9323FB4BDF3BDF679A46D3E6F7986D6A3EEB5C336D75133029A7FD10ECC498C671F8586F2EED86FA285A8014640243112A258CFC4E2A320111B0DCDF1EFC1DAD458989B29826733E3E1498C731CEB2EE0383B3B81FB09FF9C9C0EBF48DC7249F0916FF6A2F361E1C4B62BA1DE755D03F7E7F307DBF7753E7A2D7BB288D602DEE5A75C43F525ED8DD1AC92387A273C9C77C868F7627FE748D8D5391AB624C7C0B6CEB1E77DDC84589F18036B12D7C3BA8EC9B0BE73FAC5E7C3320BB6CE53ECEFF6B9E29DFD19F9BE7F7EFF06730643FB2F2795EF487C1C1ECCB9E79D28E59F21F0166A69CA43E77D44FC3E360C7115FC2E7A35FC2E32E292E1E36F162A8F69F9CCC1C5C31772BFD6E1E3D2E2C3E0C5B18903070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E1C3870E0C08103070E2E10FF0FEB17620E]
Point(doRefresh)
}
Add(Button,12843839,938,245)
{
Left=300
Top=130
TabOrder=-1
Caption="Do 3"
link(onClick,12154584:doDraw,[])
}
Add(LineBreak,11681730,1001,161)
{
Caption="upd"
link(Out,13253649:doRefresh,[])
Primary=[12943298,98,84]
}
Add(GetDataEx,2305166,392,196)
{
link(Data,4879640:ImageBitmap,[])
}
Add(Img_AlphaBmp,12154584,1050,245)
{
AlphaBlendValue=85
link(onDraw,12943298:In,[])
link(Bitmap,13253649:ImageBitmap,[])
link(AlphaBitmap,4684489:Bitmap,[(1063,194)(944,194)])
}
Add(LineBreak,2660202,560,161)
{
Caption="crt1"
link(Out,6449524:doCreate,[])
Primary=[5354773,-406,-42]
}
Add(InfoTip,16271545,273,112)
{
Info=#1:1|
Width=211
Height=200
}
Add(InfoTip,9795436,511,112)
{
Info=#1:2|
Width=358
Height=200
}
Add(InfoTip,5577113,896,112)
{
Info=#1:3|
Width=267
Height=200
}


К сожалению, не удалось написать текст на картинке с альфа каналом в рантайме, поэтому был сделан BMPX файл (Windows Bitmap 32-bit). В реальной же работе можно подгружать на лету PNG файлы или хранить их в компоненте PNG.

Редактировалось 2 раз(а), последний 2017-01-29 11:29:26
карма: 4

1
Голосовали:Master4eG
Ответов: 2200
Рейтинг: 673
#4: 2017-01-29 16:30:10 ЛС | профиль | цитата
Может такой как вариант:
схемка

Add(MainForm,2953706,133,98)
{
Width=427
Height=483
Position=1
link(onCreate,4500558:doEvent1,[])
}
Add(PaintBox,11605334,476,35)
{
Left=5
Top=10
Width=400
Height=400
Color=12639424
}
Add(Img_AlphaBmp,2208238,476,490)
{
link(onDraw,11605334:doRefresh,[(562,496)(562,26)(464,26)(464,41)])
link(Bitmap,221762:Var2,[])
link(AlphaBitmap,4113547:Var2,[(489,459)(335,459)])
}
Add(AlphaBitmap,12117593,329,357)
{
HWidth=400
HHeight=400
Point(onCreate)
Point(doCreate)
link(onCreate,3282630:doDraw,[(369,363)(369,419)])
}
Add(Img_UseRotate,14140692,406,357)
{
Angle=45
link(AddTransform,15098194:Transform,[])
}
Add(Button,14161648,357,490)
{
Left=165
Top=425
link(onClick,2208238:doDraw,[])
}
Add(Hub,4500558,182,112)
{
link(onEvent1,4261401:doFor,[])
link(onEvent2,12117593:doCreate,[(259,125)(259,377)])
}
Add(For,4261401,301,112)
{
End=333
link(onEvent,14721431:doRandom,[])
}
Add(Img_Point,5751250,357,182)
{
Size=0
Point(X)
Point(Y)
Point(Color)
Point(Size)
link(Bitmap,221762:Var1,[(363,89)])
link(X,14721431:Random,[])
link(Y,15269875:Random,[(377,163)(412,163)])
link(Color,10637379:Random,[(384,163)(454,163)])
}
Add(GetDataEx,221762,476,84)
{
link(Data,11605334:Bitmap,[])
}
Add(Random,14721431,364,112)
{
Min=-20
Max=420
link(onRandom,15269875:doRandom,[])
}
Add(Random,15269875,406,112)
{
Min=-20
Max=420
link(onRandom,10637379:doRandom,[])
}
Add(Random,10637379,448,112)
{
Max=53452345
link(onRandom,5393511:doRandom,[])
}
Add(Random,5393511,490,112)
{
Min=1
Max=33
link(onRandom,5751250:doDraw,[(549,118)(549,224)(345,224)(345,188)])
}
Add(GetDataEx,4113547,329,399)
{
link(Data,12117593:Bitmap,[])
}
Add(Img_TextInRect,3282630,378,413)
{
Point2=26214800
Font=[MS Sans Serif,12,1,128,1]
Text="Образец"
AlignHorizon=2
Alignvertical=2
SingleLine=1
Point(Transform)
link(Bitmap,4113547:Var3,[(384,404)])
link(Transform,14140692:Transform,[])
}
Add(Img_UseScale,15098194,406,308)
{
X=5
Y=5
}

Редактировалось 1 раз(а), последний 2017-01-29 16:30:56
карма: 11

0
Ответов: 321
Рейтинг: 10
#5: 2017-01-29 20:30:19 ЛС | профиль | цитата
А какой вариант правильнее ?!

Редактировалось 1 раз(а), последний 2017-01-29 20:33:03
карма: 1

0
Ответов: 8888
Рейтинг: 823
#6: 2017-01-29 20:48:24 ЛС | профиль | цитата
Master4eG, полагаю термин "правильнее" чуть не "правильнее" Быстрее, меньше кода, меньше размер, красивее...
На Img_Tween и WebCam делал шутку с привидением в кадре
карма: 19

0
Ответов: 321
Рейтинг: 10
#7: 2017-02-04 10:38:16 ЛС | профиль | цитата
Ребята, подскажите пожалуйста, почему в Preview красиво рисует, но при сохранении изображения вокруг текста появляются разводы (потеря качества).
Ухудшения проявляются именно при наложении цветного текста на картинку, при черном цвете шрифта вроде бы все хорошо.
ImageLoader и Img_Loader, в чем разница, может не тем компонентом подгружаю картинку, или что-то с параметрами накосячил. Хотя если через php делать, тоже потеря качества есть, боюсь что этого не миновать(



Add(MainForm,2953706,21,105)
{
Height=326
}
Add(ImageLoader,8184193,406,98)
{
ScaleMode=0
DrawSource=2
link(onLoad,8184193:doDraw,[(448,104)(448,92)(394,92)(394,111)])
link(onDraw,9860787:doLoad,[])
}
Add(ODialog,224274,350,98)
{
link(onExecute,8184193:doLoad,[])
}
Add(Button,2327098,231,196)
{
Left=105
Top=240
Caption="Draw"
link(onClick,3093395:doDraw,[])
}
Add(Img_Text,3093395,287,196)
{
X=55
Y=55
Font=[MS Sans Serif,14,0,255,1]
Text="Hiasm 2017"
Point(doFont)
Point(X)
Point(Y)
link(onDraw,9860787:doRefresh,[(462,202)(462,125)])
link(Bitmap,8127632:Var1,[(293,166)])
}
Add(Image,9860787,490,105)
{
Left=95
Top=10
Width=200
Height=200
Color=-16777211
ViewStyle=4
Picture=[ZIP3671020078DAEDC9B11180201044D1D34A08AD8002CC29862EEDEA048780D002DE9F79C9EEDD6A3F6356876B789623CAB7C7FAF7321300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E09717CA5B0A58]
Point(doRefresh)
Point(MouseX)
Point(MouseY)
}
Add(PictureStream,10878933,483,266)
{
Quality=100
link(Bitmap,8127632:Var2,[])
}
Add(Button,5610518,238,98)
{
Left=105
Top=215
Caption="Open"
link(onClick,224274:doExecute,[])
}
Add(Button,16520002,231,273)
{
Left=165
Top=240
Caption="Save"
link(onClick,10489777:doExecute,[])
}
Add(GetDataEx,8127632,490,161)
{
link(Data,9860787:ImageBitmap,[])
}
Add(SDialog,10489777,350,273)
{
Filter="jpeg|*.jpg"
link(onExecute,10878933:doSave,[])
}
Add(Label,3030738,196,98)
{
Left=165
Top=220
Width=86
Height=17
Caption="Не обязательно"
}


Редактировалось 1 раз(а), последний 2017-02-04 11:56:00
карма: 1

0
Ответов: 8888
Рейтинг: 823
#8: 2017-02-04 12:33:25 ЛС | профиль | цитата
Master4eG, Даже при качестве "100" картинка сжимается по объёму в ЧЕТЫРЕ раза, и естественно теряется качество
Сохраняйте картинку в *.bmp формате и будет вам счастье
карма: 19

1
Голосовали:Master4eG
Разработчик
Ответов: 26066
Рейтинг: 2120
#9: 2017-02-04 13:02:21 ЛС | профиль | цитата
Master4eG писал(а):
ImageLoader и Img_Loader

ImageLoader не работает в новых системах с некоторыми типами файлов, поддерживающих прозрачность (один из них -- png), выдает черный квадрат. Для поддержки этих форматов и был разработан Img_Loader. А лучше всего использовать новый компонент -- Img_GDIFileProcessor, тк этот компонент не зависит от установки и версии IE

Редактировалось 2 раз(а), последний 2017-02-04 13:03:34
карма: 22

0
Ответов: 321
Рейтинг: 10
#10: 2017-02-04 13:54:00 ЛС | профиль | цитата
Леонид,
Покажите пожалуйста, поменял формат, но он перестал сохранять. Понимаю, что там уже нужны компоненты с "Файлы", наверное)
Надо конвертировать картинку в потом данных и эти данные сохранить в файл.
Есть пример в справке (данные в картинку), но там данные уже в хранилище стримов, а вот как взять данные с Image непонятно


Add(MainForm,2203323,168,252)
{
Height=326
}
Add(ImageLoader,8184193,553,245)
{
ScaleMode=0
DrawSource=2
link(onLoad,8184193:doDraw,[(595,251)(595,239)(541,239)(541,258)])
link(onDraw,9860787:doLoad,[])
}
Add(ODialog,224274,497,245)
{
link(onExecute,8184193:doLoad,[])
}
Add(Button,2327098,378,343)
{
Left=105
Top=240
Caption="Draw"
link(onClick,3093395:doDraw,[])
}
Add(Img_Text,3093395,434,343)
{
X=55
Y=55
Font=[MS Sans Serif,14,0,255,1]
Text="Hiasm 2017"
Point(doFont)
Point(X)
Point(Y)
link(onDraw,9860787:doRefresh,[(609,349)(609,272)])
link(Bitmap,8127632:Var1,[(440,313)])
}
Add(Image,9860787,637,252)
{
Left=95
Top=10
Width=200
Height=200
Color=-16777211
ViewStyle=4
Picture=[ZIP3671020078DAEDC9B11180201044D1D34A08AD8002CC29862EEDEA048780D002DE9F79C9EEDD6A3F6356876B789623CAB7C7FAF7321300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E09717CA5B0A58]
Point(doRefresh)
Point(MouseX)
Point(MouseY)
}
Add(Button,5610518,385,245)
{
Left=105
Top=215
Caption="Open"
link(onClick,224274:doExecute,[])
}
Add(Button,16520002,378,420)
{
Left=165
Top=240
Caption="Save"
link(onClick,10489777:doExecute,[])
}
Add(GetDataEx,8127632,637,308)
{
link(Data,9860787:ImageBitmap,[])
}
Add(SDialog,10489777,476,420)
{
Filter="bmp|*.bmp"
link(onExecute,15080836:doEvent1,[])
}
Add(Label,3030738,343,245)
{
Left=165
Top=220
Width=86
Height=17
Caption="Не обязательно"
}
Add(FileStream,1306936,630,469)
{
Mode=1
Point(doCopyFromStream)
link(FileName,8782893:Value,[])
}
Add(BitmapStream,8098625,630,350)
{
link(onRead,7595084:doPut,[])
link(Bitmap,8127632:Var2,[])
}
Add(DataToFile,7595084,693,350)
{
link(onGet,1306936:doCopyFromStream,[(737,356)(737,391)(618,391)(618,489)])
}
Add(Hub,15080836,532,420)
{
link(onEvent1,8782893:doValue,[])
link(onEvent2,8098625:doWrite,[(588,433)(588,363)])
}
Add(Memory,8782893,630,420)
{
}


nesco, спасибо! IE - это Internet Explorer ?! Читал в справке и не понял, что за IE, просто интересно так получается
карма: 1

0
Ответов: 8888
Рейтинг: 823
#11: 2017-02-04 16:38:53 ЛС | профиль | цитата
Master4eG, в вашей первой схеме изменить расширение файла картинки для сохранения на *.bmp и всё
ВсёПрекрасноСохраняет.jpg
карма: 19

0
Ответов: 321
Рейтинг: 10
#12: 2017-02-04 18:55:50 ЛС | профиль | цитата
Леонид, извиняюсь, у меня эту картинку загружает на сервер Вконтакте и имя загружаемого файла (вернее само расширение) не поменял в одном месте, все работает!
Правда Вконтакте все равно конвертирует изображения в jpg, так что bmp не поможет У них 2 вида загрузчика html5 и flash, и как я понял разные конвертеры и разное качество, но это для больших фотографий, в моем случае изображение все равно пережевывает, так как меня не устраивает качество самой миниатюры. Тех. поддержка Вк рекомендует:
Агент
Здравствуйте!

Попробуйте, пожалуйста, сохранить картинку для Web перед публикацией на сейте: в Photoshop выбираем «Сохранить для WEB» (Alt+Shift+Ctrl+S), в появившимся окне выбираем настройки качества и обязательно отмечаем «Конвертировать в sRGB»).

С уважением,
Команда поддержки ВКонтакте
карма: 1

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)