Читаем категорию «UIPI»
Вот, наконец, подошло время и с++ заняться. Занятное, кстати, задание меня ждет. А главное – что? Главное – то, что оно оплачивается хорошо!
Периодически буду писать заметки “чтобы не забыть”. Сегодня пишу первую: про библиотеку работы с изображениями.
Читать полностью »
Задача на первый взгляд тривиальная, но на самом деле не всё так просто, как хотелось бы. Как и следовало ожидать, стандартные преобразования типов данных в данной ситуации не работают. Ну не понимают юникод и всё тут! А для GDI+ функций ну просто необходимы строки в юникоде. Вот такое неприятное противопоставление.
Читать полностью »
Почему компилятор не дает создать объект GDI+ при помощи new?
Такое поведение возможно при попытке откомпилировать MFC-приложение с использованием GDI+ в Debug-конфигурации.
В начале файла программы, видимо, имеется следующий фрагмент:
Читать полностью »
Пусть имеется указатель на контекст устройства, на котором (контексте то есть) будем рисовать.
Можно взять класс, производный от CDC.
[cc lang="cpp"]CPaintDC* pDC; //
//рисуем сплошной зелёный прямоугольник
//шириной 100, высотой 300
RECT r = {0, 0, 100, 300};
pDC->FillSolidRect(&r, RGB(0, 128, 0));
Читать полностью »
1. скачать GDI+, допустим, отсюда
2. распаковать и прописать путь (…your_path\GDIPlus\includes ) в среде разработки
3. вставить определение нового типа данных и ссылку на заголовок в своем *.cpp, где применяется GDI+
(или в том же StdAfx.h, чтобы везде работало)
1 2
| #define ULONG_PTR ULONG
#include <gdiplus .h> |
Читать полностью »
В приведенном примере для преобразования RGB-цвета используются коэффициенты, принятые в телевидении:
1 2 3
| byte color = RED * 0.299 + GREEN * 0.587 + BLUE * 0.114;
int GrColor = RGB (color,color,color); |
Здесь переменные RED, GREEN, BLUE соответствуют цветам палитры RGB красному, зеленому и синему соответственно.
Читать полностью »
Эта задача программирования не настолько тривиальна, как бы этого хотелось. Сложность заключается в том, что готовых 100% работающих классов или библиотек под эту задачу лично мне найти не удалось. Пришлось немного углубиться в поиски и адаптировать то, что с большего подходит под задачу создания BMP файла из элемента класса CBitmap.
Читать полностью »
Как обычно: на банальные задачи времени тратится гораздо больше, чем на что-то интересное и серьезное.
Странно, почему на форумах с++ никто не указывает функцию копирования файла CopyFile? Люди советуют переписывать данные в новый файл с другим именем. А если файлы занимают несколько Гб, то что прикажете делать?
Читать полностью »
Вопрос примитивный, решение тоже
Задача: получить модуль числа с плавающей запятой
Решение оказалось банальным, хотя и потребовало некоторых усилий из-за того, что я в большей степени работаю в матлабе.
Читать полностью »
Будем выполнять те же самые действия, что и при решении системы линейных уравнений методом Гаусса, исключив только деление текущей строки на a[i][i] (точнее, само деление можно выполнять, но подразумевая, что число выносится за знак определителя). Тогда все операции, которые мы будем производить с матрицей, не будут изменять величину определителя матрицы, за исключением, быть может, знака (мы только обмениваем местами две строки, что меняет знак на противоположный, или прибавляем одну строку к другой, что не меняет величину определителя).
Читать полностью »