Читаем категорию «UIPI»

Библиотека с++ для изображений

Вот, наконец, подошло время и с++ заняться. Занятное, кстати, задание меня ждет. А главное – что? Главное – то, что оно оплачивается хорошо!

Периодически буду писать заметки “чтобы не забыть”. Сегодня пишу первую: про библиотеку работы с изображениями.

Читать полностью »

CString -> LPCWSTR

Задача на первый взгляд тривиальная, но на самом деле не всё так просто, как хотелось бы. Как и следовало ожидать, стандартные преобразования типов данных в данной ситуации не работают. Ну не понимают юникод и всё тут! А для GDI+ функций ну просто необходимы строки в юникоде. Вот такое неприятное противопоставление.

Читать полностью »

GDI+ и оператор new

Почему компилятор не дает создать объект GDI+ при помощи new?

Такое поведение возможно при попытке откомпилировать MFC-приложение с использованием GDI+ в Debug-конфигурации.

В начале файла программы, видимо, имеется следующий фрагмент:

Читать полностью »

Как нарисовать линию или прямоугольник на контексте устройства (CDC)? Как выбрать цвет и толщину линии?

Пусть имеется указатель на контекст устройства, на котором (контексте то есть) будем рисовать.

1
CDC* pDC;

Можно взять класс, производный от CDC.

[cc lang=""]CPaintDC* pDC; //

//рисуем сплошной зелёный прямоугольник
//шириной 100, высотой 300
RECT r = {0, 0, 100, 300};
pDC->FillSolidRect(&r, (0, 128, 0));
Читать полностью »

Подключаем GDI+ к Visual C++

1. скачать GDI+, допустим, отсюда
2. распаковать и прописать путь (…your_path\GDIPlus\includes ) в среде разработки
3. вставить определение нового типа данных и ссылку на заголовок в своем *., где применяется 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 соответствуют цветам палитры красному, зеленому и синему соответственно.

Читать полностью »

Создание BMP из CBitmap

Эта задача программирования не настолько тривиальна, как бы этого хотелось. Сложность заключается в том, что готовых 100% работающих классов или библиотек под эту задачу лично мне найти не удалось. Пришлось немного углубиться в поиски и адаптировать то, что с большего подходит под задачу создания BMP файла из элемента класса CBitmap.
Читать полностью »

Быстрое копирование файла C++

Как обычно: на банальные задачи времени тратится гораздо больше, чем на что-то интересное и серьезное.

Странно, почему на форумах с++ никто не указывает функцию копирования файла CopyFile? Люди советуют переписывать данные в новый файл с другим именем. А если файлы занимают несколько Гб, то что прикажете делать?

Читать полностью »

Модуль числа в C++

Вопрос примитивный, решение тоже :)

Задача: получить модуль числа с плавающей запятой

Решение оказалось банальным, хотя и потребовало некоторых усилий из-за того, что я в большей степени работаю в матлабе.

Читать полностью »

Вычисление определителя матрицы методом Гаусса

Будем выполнять те же самые действия, что и при решении системы линейных уравнений методом Гаусса, исключив только деление текущей строки на a[i][i] (точнее, само деление можно выполнять, но подразумевая, что число выносится за знак определителя). Тогда все операции, которые мы будем производить с матрицей, не будут изменять величину определителя матрицы, за исключением, быть может, знака (мы только обмениваем местами две строки, что меняет знак на противоположный, или прибавляем одну строку к другой, что не меняет величину определителя).

Читать полностью »

free mp3 Armin Van Buuren Jay-Z mp3 downloads Lamborghini представил очередную версию Gallardo Профессиональный макияж в Минске. Фото. free premium themes