SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0002718 | SAS.Планета | [All Projects] Хотелка | public | 13-05-2015 03:50 | 20-06-2016 17:08 |
|
Reporter | Parasite | |
Assigned To | vdemidov | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 141212 | |
Target Version | 160707 | Fixed in Version | 160707 | |
|
Summary | 0002718: При склейке в файл с alpha - делать дырки в кэше прозрачными |
Description | Лично мне нужно в составе склейки в RAW - но если сие глобально, то сделать соответственно везде:
- если сводим слой и разрешена альфа: пишем альфу со слоя если подлежащий пиксель есть, и alpha=0 там если пикселя нет (дырка в кэше, или вне выделения но в пределах описанного прямоугольника, DefaultFill).
- если сводим карту и разрешена альфа: пишем альфа=FF где подлежащий пиксель есть, и alpha=0 там где пикселя нет. |
Steps To Reproduce | |
Additional Information | Возникло тут: http://www.sasgis.org/forum/viewtopic.php?p=39512#p39512 |
Tags | No tags attached. |
Relationships | related to | 0001676 | resolved | zed | Попиксельная склейка растров при полигональном выделении |
|
Attached Files | |
|
Issue History |
Date Modified | Username | Field | Change |
13-05-2015 03:50 | Parasite | New Issue | |
14-05-2015 09:00 | vdemidov | Note Added: 0015897 | |
14-05-2015 09:00 | vdemidov | Status | new => feedback |
14-05-2015 09:01 | vdemidov | Product Version | => 141212 |
14-05-2015 09:01 | vdemidov | Target Version | => 151010 |
15-05-2015 19:18 | Parasite | Note Added: 0015925 | |
15-05-2015 19:18 | Parasite | Status | feedback => new |
15-05-2015 19:19 | Parasite | Note View State: 0015925: public | |
15-05-2015 19:54 | vdemidov | Note Added: 0015926 | |
15-05-2015 19:54 | vdemidov | Status | new => confirmed |
15-05-2015 19:54 | vdemidov | Target Version | 151010 => 150915 |
16-05-2015 08:22 | Parasite | Note Added: 0015932 | |
18-05-2015 07:54 | vdemidov | Relationship added | related to 0001676 |
16-09-2015 14:52 | vdemidov | Target Version | 150915 => 151010 |
10-10-2015 15:33 | vdemidov | Target Version | 151010 => 151111 |
06-11-2015 08:19 | vdemidov | Target Version | 151111 => 191221 |
17-06-2016 07:14 | vdemidov | Target Version | 191221 => 160707 |
17-06-2016 07:16 | vdemidov | Note Added: 0017389 | |
20-06-2016 17:03 | vdemidov | Status | confirmed => resolved |
20-06-2016 17:03 | vdemidov | Fixed in Version | => 160707 |
20-06-2016 17:03 | vdemidov | Resolution | open => fixed |
20-06-2016 17:03 | vdemidov | Assigned To | => vdemidov |
20-06-2016 17:08 | vdemidov | Summary | При сведении в файл с alpha - делать дырки в кэше прозрачными => При склейке в файл с alpha - делать дырки в кэше прозрачными |
20-06-2016 17:08 | vdemidov | Description Updated | bug_revision_view_page.php?rev_id=7001#r7001 |
Notes |
|
|
Не совсем понял, что ты имеешь в виду под "подлежащий пиксель есть". Сам тайл, к которому принадлежит пиксель есть? То есть предлагаешь для мест, где тайл присутствует оставить все как есть, а для мест где тайла нет вообще писать с нулевой альфой? |
|
|
|
>что ты имеешь в виду под "подлежащий пиксель есть"
Пиксель, который берется "из тайлов" (в отличие от пикселя, который тупо заливается дефолтным цветом - если попадает на дырку или вне выделения, но еще в пределах описанного прямоугольником выделения пользователя).
Оно же "пиксель, несущий полезную инфу" :)
>предлагаешь для мест, где тайл присутствует оставить все как есть, а для мест где тайла нет вообще писать с нулевой альфой?
Не тайл (целиком), а пиксели из оного попадающие в выделение (ибо выделение хомяка не обязательно пойдет по границе тайла). В этом случае - писать непрозрачную альфу, если сводим с альфой.
Если же на этом месте дырка, либо пиксели есть но уже не попадают в выделение - заливать дефолтным цветом (вместо картинки) ПЛЮС писать прозрачную альфу, если сводим с альфой.
То есть, дырки и области НЕ попадающие в выделение - будут прозрачными, а несущие полезную инфу (попавшие в выделение+есть кэш) - непрозрачными. Это в случае карты.
В случае слоя: (попавшее в выделение+есть кэш) = берем альфу с кэша какая там есть, не попавшие и\или дырка - ставим альфу прозрачной.
То есть, отталкиваться в любом случае надо от факта "пиксель берется с тайла (= альфа непрозрачна в случае карты\альфа с тайла в случае слоя), или заливается дефолтным цветом (=дырка или вне выделения, альфа прозрачна)".
Иллюстрация: круг (выделение пользователя), описанный вокруг него квадрат (сводимый снимок), внутри круга - дырка в кэше (непрокачан) =
- внутри круга пишем непрозрачную альфу (исключая дырку);
- дырку заливаем дефолтным цветом ПЛЮС прозрачной альфой (ибо дырка);
- участки между внешней границей круга и внутренней квадрата - заливаем дефолтным цветом ПЛЮС прозрачной альфой (ибо вне выделения пользователя).
В результате альфа = реально несущие полезную инфу пиксели в сведенном изображении, ака "карта заполнения в пределах выделения, попиксельно". |
|
|
|
>Не тайл (целиком), а пиксели из оного попадающие в выделение (ибо выделение хомяка не обязательно пойдет по границе тайла).
Это только после реализации хотелки о точном полигональном склеивании, сейчас - максимум с точностью до тайла, то есть тайл лежаший на границе полигона всегда попадает целиком (ну если не обрезается описанным прямоугольником). |
|
|
|
>Это только после реализации хотелки о точном полигональном склеивании
Ок. Пускай. Главное - чтобы не забыть. Для начала пускай будет по-тайлово.
Свяжи ту хотелку с этой? Я не в курсе, где она тут у тебя валяется. |
|
|
|
В общем, при склейке в формат с поддержкой альфы и включенной альфой, фон вообще не будет подкладываться, а вместо дырок в покрытии будет 0x00000000 |
|