
Vladislav
11.12.2017
14:47:40
давно не трогал виапи, вероятно проблема в несоответствии глубин или порядке изображений. merge создает новый список с какой-то глубиной, куда и копирует конечное изображение

Friedrich
11.12.2017
14:48:33
Merge создаёт новую картинку, а не лист. Однако же, про порядок это ценная информация, спасибо, я подумаю над этим.
Я просто пока вообще не могу понять, кто из действующих лиц у меня включает в себя информацию о глубине цвета.

Vladislav
11.12.2017
14:49:41
создает картинку, которую хранит листе. глянул на msdn щас

Google

Friedrich
11.12.2017
14:49:56
Вроде как у листа указывается своя глубина, а вроде как я могу в лист добавить картинки с другой глубиной.
И чо тогда будет — непонятно %)

Vladislav
11.12.2017
14:51:42
если в исходной картинке (иконке) была нужная глубина, она вставится, если нет - не помню, сорь )

Friedrich
11.12.2017
14:53:55
У меня происходит вообще непонятный эффект:
- при 24-битном цвете листа всё работает как положено (на картинку A накладываем картинку B с учётом прозрачностей)
- при 32-битном цвете операция Merge почему-то делает всё шиворот-навыворот: вырезает из картинки A непрозрачную часть картинки B, делая в картинке A прозрачную дырку с соответствующим контуром

Vladislav
11.12.2017
14:56:37
без учета альфа-канала накладывает, там где дырка - там "смесь" должна быть

Friedrich
11.12.2017
15:01:12
Погодити, как это без учёта?
Мб он маски учитывает?
А альфа-каналы не учитывает?

Vladislav
11.12.2017
15:01:40
ну вот по маске и вырезает

Friedrich
11.12.2017
15:01:55
Это бы... ничего не объяснило, на самом деле. Но тоже интересная мысль, щас попробую разобраться.

Vladislav
11.12.2017
15:02:04
а по альфа каналу накладывать поверх с учетом прозрачности должен
то есть там, где маски совпадают

Ilia
11.12.2017
15:02:28

Google

Ilia
11.12.2017
15:03:31

Friedrich
11.12.2017
15:04:37

Berkus
11.12.2017
15:13:50

Timur
11.12.2017
16:22:44

Berkus
11.12.2017
16:27:07
/warn а вот и правила

Group Butler [beta]
11.12.2017
16:27:07
Nikita has been warned (2/5)

Ilia
11.12.2017
16:27:58

fox.cpp
11.12.2017
16:47:40
uint32_t thing;
stream.read(reinterpret_cast<int8_t*>(&thing), 4);
Коллеги, насколько валидно так читать числа (в двоичном представлении) из потока?
В потоке (файле) лежат байты: 0x00 0x00 0x30 0x39.
Я хочу прочитать их как число 12345 (uint32_t).
P.S. "endianess" не волнует.

Berkus
11.12.2017
16:48:42
> P.S. "endianess" не волнует.
а зря

pavel
11.12.2017
16:51:42

fox.cpp
11.12.2017
16:51:57
Ну, целевая архитектура — x86, а она, насколько мне известно, little-endian.
ARM — bi-endian, если уж вдруг. Архитектуры, которые в основном используются в устройствах вроде роутеров изначально не поддерживаются, ибо код не предназначен для использования там.

Berkus
11.12.2017
16:52:25
В потоке (файле) лежат байты: 0x00 0x00 0x30 0x39.
Я хочу прочитать их как число 12345 (uint32_t).
а прочитаешь 0x39300000 - если это то что тебе надо, то пожалуйста

fox.cpp
11.12.2017
16:53:29
Ну, я это в примере написал не так, ладно.

Berkus
11.12.2017
16:53:48

fox.cpp
11.12.2017
16:54:06
Гм... Интересно.
Ладно, думаю есть смысл тогда учесть этот фактор.

Vladislav
11.12.2017
16:56:29
Ну, целевая архитектура — x86, а она, насколько мне известно, little-endian.
ARM — bi-endian, если уж вдруг. Архитектуры, которые в основном используются в устройствах вроде роутеров изначально не поддерживаются, ибо код не предназначен для использования там.
нужна кросплатформенность, после чтения что-то типа thing = le32_to_cpu(thing) макрос вставь, на le платформе бесплатно будет, на be - swap32

fox.cpp
11.12.2017
16:57:06
Вот, так и сделаю.

Berkus
11.12.2017
16:57:12
ntohl() это называется

Google

Berkus
11.12.2017
16:57:25
htonl() для наоборот

Vladislav
11.12.2017
16:57:26

Berkus
11.12.2017
16:57:37
но оно network order подразумевает

Vladislav
11.12.2017
16:57:48
который be

Berkus
11.12.2017
16:57:48
как вменяемый для транспорта/хранения

fox.cpp
11.12.2017
16:57:56

Vladislav
11.12.2017
16:58:26
я знаю
ну тогда зачем советуешь то, что не подходит? )

fox.cpp
11.12.2017
16:58:54
network byte order — это у нас little-endian, так?
Ага.

Vladislav
11.12.2017
16:59:02
нет

fox.cpp
11.12.2017
16:59:07
А что?

Berkus
11.12.2017
16:59:11

fox.cpp
11.12.2017
16:59:15
А, ясно.

Admin
ERROR: S client not available

Vladislav
11.12.2017
16:59:20
network byte order = big endian

Berkus
11.12.2017
16:59:37
ну и в примере он как раз big endian сторадж нарисовал)

Vladislav
11.12.2017
17:00:36

Matwey
11.12.2017
17:00:52

Google

Matwey
11.12.2017
17:01:24
Я, честно, не знаю ни одного. Просто спрашиваю

Berkus
11.12.2017
17:01:55
You can change data access endianness using the SETEND instruction:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489f/Cjacabbf.html

fox.cpp
11.12.2017
17:02:01
https://en.wikipedia.org/wiki/ARM_architecture
Endianness Bi (little as default)

Matwey
11.12.2017
17:02:43

Berkus
11.12.2017
17:03:06

Matwey
11.12.2017
17:03:21

Berkus
11.12.2017
17:03:48

Matwey
11.12.2017
17:04:07

Berkus
11.12.2017
17:04:14
можно даже не покупать, он скорее всего у тебя в телефоне уже

Matwey
11.12.2017
17:04:29
ОБижаешь
У меня не такое старье

Berkus
11.12.2017
17:05:44
детский сад

Matwey
11.12.2017
17:06:26
Ясельная группа

Роман
11.12.2017
18:43:27
Добрый вечер!
если мне нужна mini как минимальная строка в векторе, то пойдет ли такая реализация?
mini = *std::min_element(slicedPerf.begin(), slicedPerf.end());
при учете, что mini — std::vector<double>