Профессиональное
Jun. 23rd, 2016 10:22 amПредыдущий примерно месяц я занимался тем, что учился печатать так называемые masked images.
Прочитавши MSDN, я хотел всё сделать при помощи PlgBlt(), но оказывается, что на печати оно маску тупо игнорирует. То есть вот на экран работает как написано, а на печать не делает ничего и даже ошибку не возвращает, делает вид, что так и надо, зараза такая.
Большая часть времени ушла на то, чтобы убедиться, что оно действительно не соответствует документации, и не только в седьмой, но и в десятой винде ничего не исправлено (HP драйвер принтера с начала стоял свежий), и никто другой до сих пор не нашёл магической кнопки, чтобы заставить её работать; ну и потом разобраться, а что же всё-таки работает (при этом выяснилось, что PCL и PS глючат слегка по-разному).
После того, как разобрался, реализация нужной функциональности в обход прямой дороги заняла дня два (по одному на PCL и PS).
Вот какого чёрта этого не сделали программисты MS и HP, которые за ту PlgBlt() зарплату получили - вопрос риторический, да и устал я уже на них злиться, но пусть останется заметка.
(Справедливости ради стоит отметить, что XPS драйвер работает правильно.)
Прочитавши MSDN, я хотел всё сделать при помощи PlgBlt(), но оказывается, что на печати оно маску тупо игнорирует. То есть вот на экран работает как написано, а на печать не делает ничего и даже ошибку не возвращает, делает вид, что так и надо, зараза такая.
Большая часть времени ушла на то, чтобы убедиться, что оно действительно не соответствует документации, и не только в седьмой, но и в десятой винде ничего не исправлено (HP драйвер принтера с начала стоял свежий), и никто другой до сих пор не нашёл магической кнопки, чтобы заставить её работать; ну и потом разобраться, а что же всё-таки работает (при этом выяснилось, что PCL и PS глючат слегка по-разному).
После того, как разобрался, реализация нужной функциональности в обход прямой дороги заняла дня два (по одному на PCL и PS).
Вот какого чёрта этого не сделали программисты MS и HP, которые за ту PlgBlt() зарплату получили - вопрос риторический, да и устал я уже на них злиться, но пусть останется заметка.
(Справедливости ради стоит отметить, что XPS драйвер работает правильно.)