DarkDemon | Дата: Суббота, 22.06.2019, 18:47 | Сообщение # 2 |
Полковник
Группа: Друзья
Сообщений: 188
Статус: Offline
| Цитата mashakovmarat ( ) каналы должны быть Integer
UINTEGER
INTEGER имеет отрицательный диапазон. Чисто для корректности лучше использовать UINTEGER.
Цитата mashakovmarat ( ) Но тогда получается, что простое указание цветов от 0 до 15 перестает работать.
Ну да, либо индексированное, либо RGB.
Цитата mashakovmarat ( ) Причем не выводится ни RGB-расцветка, ни простое указание цвета.
Я ставлю 32 бита. Работает только на PUT с методом Alpha. Но свои уже написал CUSTOM-ные. Для всех примитивов, чтобы прозрачные были, вроде в справке указан флаг для SCREENRES. На FB замесили аццкую смесь и Transparent и Alpha, работает оно всё очень стрёмно, там косяки гарантированы, сам много раз напарывался мол должно работать, а нихрена, приходится изобретать всякую дичь, например если ты загрузишь прозрачную картинку и попробуешь применить к ней билинейку с википедии то получишь розовые края у прозрачных частей изображения, мне приходилось создавать отдельный слой и блитить в него alpha-ой прежде чем выводить на экран, сразу не прокатывало, всё это выглядит сильно по-бичарски. Даже если ты думаешь что ты понял как оно работает - уверяю что ты нихрена не понял))) Вместо одного режима разрабы запихали два и отдали на откуп, т.е. секс гарантирован. Это не является препятствием, если ты используешь готовую, уже нарисованную графику, но если тебе надо что-то сгенерить в программе полупрозрачное - вознеси руки к небу и молись, ну и бубен тоже помогает иногда.
Цитата mashakovmarat ( ) Можем я чего не замечаю и есть, например, какое-нибудь необходимое глобальное объявление на использование RGB(A)
Да нет там нифига, RGB и RGBA и всё.
Добавлено (22.06.2019, 19:32) ---------------------------------------------
Цитата mashakovmarat ( ) Но тогда получается, что простое указание цветов от 0 до 15 перестает работать.
Ну держи классическую палитру: Код DIM SHARED Tb256(255) AS UINTEGER = {4278190080, 4278190250, 4278233600, 4278233770, _ 4289331200, 4289331370, 4289352960, 4289374890, 4283782485, 4283782655, 4283826005, _ 4283826175, 4294923605, 4294923775, 4294967125, 4294967295, 4278190080, 4279505940, _ 4280295456, 4281084972, 4281874488, 4282664004, 4283453520, 4284572001, 4285624689, _ 4286677377, 4287730065, 4288782753, 4290164406, 4291480266, 4293059298, 4294967295, _ 4278190335, 4282384639, 4286382335, 4290642175, 4294902015, 4294901950, 4294901885, _ 4294901824, 4294901760, 4294918144, 4294933760, 4294950400, 4294967040, 4290707200, _ 4286447360, 4282449664, 4278255360, 4278255424, 4278255485, 4278255550, 4278255615, _ 4278238975, 4278222335, 4278206719, 4286414335, 4288511487, 4290674175, 4292771327, _ 4294934015, 4294933982, 4294933950, 4294933917, 4294933885, 4294942077, 4294950525, _ 4294958717, 4294967165, 4292804477, 4290707325, 4288544637, 4286447485, 4286447517, _ 4286447550, 4286447582, 4286447615, 4286439167, 4286430975, 4286422527, 4290164479, _ 4291213055, 4292523775, 4293572351, 4294948607, 4294948586, 4294948570, 4294948550, _ 4294948534, 4294952630, 4294957750, 4294961846, 4294967222, 4293590966, 4292542390, _ 4291231670, 4290183094, 4290183110, 4290183130, 4290183146, 4290183167, 4290177791, _ 4290173695, 4290168575, 4278190193, 4280025201, 4281860209, 4283760753, 4285595761, _ 4285595733, 4285595704, 4285595676, 4285595648, 4285602816, 4285609984, 4285617408, _ 4285624576, 4283789568, 4281889024, 4280054016, 4278219008, 4278219036, 4278219064, _ 4278219093, 4278219121, 4278211953, 4278204529, 4278197361, 4281874545, 4282660977, _ 4283775089, 4284561521, 4285610097, 4285610081, 4285610069, 4285610052, 4285610040, _ 4285613112, 4285617464, 4285620536, 4285624632, 4284576056, 4283789624, 4282675512, _ 4281889080, 4281889092, 4281889109, 4281889121, 4281889137, 4281885041, 4281881969, _ 4281877617, 4283453553, 4284043377, 4284567665, 4285091953, 4285616241, 4285616233, _ 4285616225, 4285616217, 4285616208, 4285618512, 4285620560, 4285622608, 4285624656, _ 4285100368, 4284576080, 4284051792, 4283461968, 4283461977, 4283461985, 4283461993, _ 4283462001, 4283459953, 4283457905, 4283455857, 4278190144, 4279238720, 4280287296, _ 4281335872, 4282384448, 4282384432, 4282384416, 4282384400, 4282384384, 4282388480, _ 4282392576, 4282396672, 4282400768, 4281352192, 4280303616, 4279255040, 4278206464, _ 4278206480, 4278206496, 4278206512, 4278206528, 4278202432, 4278198336, 4278194240, _ 4280295488, 4280819776, 4281344064, 4281868352, 4282392640, 4282392632, 4282392624, _ 4282392616, 4282392608, 4282394656, 4282396704, 4282398752, 4282400800, 4281876512, _ 4281352224, 4280827936, 4280303648, 4280303656, 4280303664, 4280303672, 4280303680, _ 4280301632, 4280299584, 4280297536, 4281084992, 4281347136, 4281609280, 4282133568, _ 4282395712, 4282395708, 4282395700, 4282395696, 4282395692, 4282396716, 4282397740, _ 4282399788, 4282400812, 4282138668, 4281614380, 4281352236, 4281090092, 4281090096, _ 4281090100, 4281090108, 4281090112, 4281089088, 4281087040, 4281086016, 4278190080, _ 4278190080, 4278190080, 4278190080, 4278190080, 4278190080, 4278190080, 4278190080}
SCREENRES 640, 480, 32, 1, 0 DIM i AS INTEGER FOR i = 0 TO 255 LINE (i * 2, 200)-(i * 2 + 1, 300), Tb256(i), B NEXT i SLEEP
Добавлено (22.06.2019, 19:43) --------------------------------------------- Можно немного короче, но там надо смотреть, альфа компонента будет тогда не &HFF. Не всюду подойдёт.
Код DIM SHARED Tb256(255) AS UINTEGER = {&H000000, &H0000AA, &H00AA00, &H00AAAA, _ &HAA0000, &HAA00AA, &HAA5500, &HAAAAAA, &H555555, &H5555FF, &H55FF55, &H55FFFF, _ &HFF5555, &HFF55FF, &HFFFF55, &HFFFFFF, &H000000, &H141414, &H202020, &H2C2C2C, _ &H383838, &H444444, &H505050, &H616161, &H717171, &H818181, &H919191, &HA1A1A1, _ &HB6B6B6, &HCACACA, &HE2E2E2, &HFFFFFF, &H0000FF, &H4000FF, &H7D00FF, &HBE00FF, _ &HFF00FF, &HFF00BE, &HFF007D, &HFF0040, &HFF0000, &HFF4000, &HFF7D00, &HFFBE00, _ &HFFFF00, &HBEFF00, &H7DFF00, &H40FF00, &H00FF00, &H00FF40, &H00FF7D, &H00FFBE, _ &H00FFFF, &H00BEFF, &H007DFF, &H0040FF, &H7D7DFF, &H9D7DFF, &HBE7DFF, &HDE7DFF, _ &HFF7DFF, &HFF7DDE, &HFF7DBE, &HFF7D9D, &HFF7D7D, &HFF9D7D, &HFFBE7D, &HFFDE7D, _ &HFFFF7D, &HDEFF7D, &HBEFF7D, &H9DFF7D, &H7DFF7D, &H7DFF9D, &H7DFFBE, &H7DFFDE, _ &H7DFFFF, &H7DDEFF, &H7DBEFF, &H7D9DFF, &HB6B6FF, &HC6B6FF, &HDAB6FF, &HEAB6FF, _ &HFFB6FF, &HFFB6EA, &HFFB6DA, &HFFB6C6, &HFFB6B6, &HFFC6B6, &HFFDAB6, &HFFEAB6, _ &HFFFFB6, &HEAFFB6, &HDAFFB6, &HC6FFB6, &HB6FFB6, &HB6FFC6, &HB6FFDA, &HB6FFEA, _ &HB6FFFF, &HB6EAFF, &HB6DAFF, &HB6C6FF, &H000071, &H1C0071, &H380071, &H550071, _ &H710071, &H710055, &H710038, &H71001C, &H710000, &H711C00, &H713800, &H715500, _ &H717100, &H557100, &H387100, &H1C7100, &H007100, &H00711C, &H007138, &H007155, _ &H007171, &H005571, &H003871, &H001C71, &H383871, &H443871, &H553871, &H613871, _ &H713871, &H713861, &H713855, &H713844, &H713838, &H714438, &H715538, &H716138, _ &H717138, &H617138, &H557138, &H447138, &H387138, &H387144, &H387155, &H387161, _ &H387171, &H386171, &H385571, &H384471, &H505071, &H595071, &H615071, &H695071, _ &H715071, &H715069, &H715061, &H715059, &H715050, &H715950, &H716150, &H716950, _ &H717150, &H697150, &H617150, &H597150, &H507150, &H507159, &H507161, &H507169, _ &H507171, &H506971, &H506171, &H505971, &H000040, &H100040, &H200040, &H300040, _ &H400040, &H400030, &H400020, &H400010, &H400000, &H401000, &H402000, &H403000, _ &H404000, &H304000, &H204000, &H104000, &H004000, &H004010, &H004020, &H004030, _ &H004040, &H003040, &H002040, &H001040, &H202040, &H282040, &H302040, &H382040, _ &H402040, &H402038, &H402030, &H402028, &H402020, &H402820, &H403020, &H403820, _ &H404020, &H384020, &H304020, &H284020, &H204020, &H204028, &H204030, &H204038, _ &H204040, &H203840, &H203040, &H202840, &H2C2C40, &H302C40, &H342C40, &H3C2C40, _ &H402C40, &H402C3C, &H402C34, &H402C30, &H402C2C, &H40302C, &H40342C, &H403C2C, _ &H40402C, &H3C402C, &H34402C, &H30402C, &H2C402C, &H2C4030, &H2C4034, &H2C403C, _ &H2C4040, &H2C3C40, &H2C3440, &H2C3040, 0, 0, 0, 0, 0, 0, 0, 0}
Сообщение отредактировал DarkDemon - Суббота, 22.06.2019, 19:45 |
|
| |