Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Каким образом можно переписать ресурс, находящийся в DLL? https://www.cyberforum.ru/ win-api/ thread1297189.html
Добрый день. Каким образом можно переписать ресурс, находящийся в DLL? Например, строку (или все строки) конфига (текстового файла) Получаю файл конфига из DLL так: HRSRC hRes = FindResource(m_pCore->getDataLib(), MAKEINTRESOURCE(IDR_CONFIG), "Config"); if (hRes == NULL) pLog->Write(ID_ERROR, "Resource not found"); HGLOBAL hResLoad = LoadResource(m_pCore->getDataLib(), hRes); ...
C++ WinAPI Клик внутри элемента
Подскажите, как сделать клик внутри окна? Например у меня есть ActiveX элемент флеша который я встроил в свою программу. Могу ли я взяв хендел этого ActiveX элемента сделать внутри него клик по определённым координатам не трогая мышку? Добавлено через 22 часа 46 минут Проблема осталась нерешённой .
C++ WinAPI Отрисовка в файл Доброго времени суток. Этот вопрос, скорее всего, для начинающих, но к тематике тут он больше подходит. Итак, есть программка, которая рисует пиксельную картинку в окне, однако мне нужно, чтобы этот рисунок сохранялся как файл с расширением .bmp. Гуглопоиск ничего по этому поводу не выдал. В книжках тоже не нашла (может, плохо смотрела). Подскажите, пожалуйста, возможно ли организовать... https://www.cyberforum.ru/ win-api/ thread1297084.html C++ WinAPI Ручная загрузка изображения BITMAP из файла Здравствуйте коллеги! Помогите пожалуйста разобраться с загрузкой BITMAP изображения. Изображение не рисуется. Пробовал по всякому и с CreateCompatibleBitmap и SetDIBit. void __fastcall TForm1::btnNewLoadClick(TObject *Sender) { int w, h; long size; HDC hMemDC = CreateCompatibleDC(Image1->Canvas->Handle); HBITMAP hBMP = (HBITMAP)LoadBMP(&w, &h, &size, "fnew.bmp", hMemDC); https://www.cyberforum.ru/ win-api/ thread1296766.html
C++ WinAPI Перехват события создания контекстного меню
Как с помощью глобального хука перехватить данное событие, какой тип сообщения нужно ловить? Добавлено через 2 минуты хочу перехватить события создания меню и добавить туда свой пункт. Есть ли возможность добавлять свои пункты в контекстное меню не через реестр. А то каждый раз юзать реестр на время работы программы как то криво.
C++ WinAPI Аргумент типа *PVOID И так в функции createwindow, один из аргументов имеет тип HMENU. В библиотеке типов: HMENU A handle to a menu. typedef HANDLE HMENU; ... HANDLE A handle to an object. typedef PVOID HANDLE; https://www.cyberforum.ru/ win-api/ thread1296370.html
C++ WinAPI Многопоточность и сортировка "немаленького" вектора Всем доброго времени суток. Нужно было написать программу которая генерирует случайным образом 1000000 значений, выводит их, сортирует их и выводит снова. Необходимо использовать многопоточность...Вообщем получился такой код... #include <windows.h> #include <fstream> #include <iostream> #include <vector> #include <ctime> using namespace std; HANDLE hSem; int a; HANDLE hThr; https://www.cyberforum.ru/ win-api/ thread1296324.html C++ WinAPI Извлечь из строки арифметическое выражение и проверить его.
у меня есть строка типа LPWSTR "7+2", как мне проверить, что числа складываются( а не отнимаются или др.) сложить их и отправить в поле ввода?
C++ WinAPI Как извлечь последний символ строки? https://www.cyberforum.ru/ win-api/ thread1296233.html
Необходимо получить последний символ строки У меня есть строка "asd fghj". Как извлечь из нее последний символ и сделать чтобы он был типа LPWSTR?
C++ WinAPI Получение выделенного текста из другого приложения Перехватываю события мыши(все получается), при нажатии на правую кнопку мыши надо получить выделенный текст. Как я понял нужно использовать SendMessage, вот что получилось, но выводиться постоянно какая то ерунда символ 'm' LRESULT CALLBACK HookProc(int nCode, WPARAM wParam, LPARAM lParam) { if(wParam == WM_RBUTTONDOWN) { qDebug() << "CLICK"; HWND... https://www.cyberforum.ru/ win-api/ thread1296148.html
C++ WinAPI Исследование окна блокнота
Всем привет! В WinApi новичок. Вопрос чисто теоретический. :) Сделал программу, которая находит ID процесса запущенного блокнота, а потом перечисляя все окна рабочего стола с помощью функции EnumWindows() сравнивает ID их процесса, с найденным. Итого находит целых 3 окна принадлежащих процессу блокнота: 1. класс: Notepad------------текст: Безымянный - Блокнот 2. класс: MSCTFIME...
C++ WinAPI Поиск утечки памяти Доброго времени суток. Помогите поймать утечку. Суть - при многократном нажатии на кнопку, память, потребляемая программой, медленно, но верно растет (смотрел во вкладке "память" диспетчера задач конкретно для своего процесса). case BT_SEND1: snum = 15; spar = "PARAMETERS"; res = port.SendCommand(snum,spar,COMMAND_SENDING_TIMEOUT,&_output); //output - объект для... https://www.cyberforum.ru/ win-api/ thread1295780
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 474
Записей в блоге: 4
11.11.2014, 13:02 0

Вывод bitmap под углом - C++ WinAPI - Ответ 6835316

11.11.2014, 13:02. Показов 1298. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Nicolas как решение

Решение

В winAPI вручную (считав каждый пиксель из bmp и расположив под углом), в DirectX вращением матрицы мира.

Считывание bmp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
// Добавить альфа канал в BMP
// Описание формата BMP: [url]http://ru.wikipedia.org/wiki/BMP[/url]
 
 
#include <stdio.h>
#include <windows.h>
 
 struct pixel_rgba
 {
  public:
   BYTE b;
   BYTE g;
   BYTE r;
   BYTE a;
 };
 
 struct pixel_rgb
 {
  public:
   BYTE b;
   BYTE g;
   BYTE r;
 };
 
 
int main()
{
BITMAPFILEHEADER bmp_header;
BITMAPINFOHEADER info_header;
int i;
unsigned char y;
 
FILE *f;
FILE *g;
f = fopen("wood_100x100.bmp", "rb");
g = fopen("wood_100x100rgba.bmp", "wb");
fseek(f, 0 , SEEK_SET);
// SEEK_SET на начало файла
// SEEK_CUR текущая позиция
fread(&bmp_header, 1, sizeof(BITMAPFILEHEADER), f);
printf("sizeof(BITMAPFILEHEADER) : %x %d\n",
sizeof(BITMAPFILEHEADER), sizeof(BITMAPFILEHEADER));
fseek(g, 0 , SEEK_SET);
fwrite(&bmp_header, 1, sizeof(BITMAPFILEHEADER), g);
 
 
 
 
int dr = bmp_header.bfOffBits - sizeof(BITMAPFILEHEADER);
printf("dr: %d\n", dr);
 
if (dr == 40)
{
fseek(g, sizeof(BITMAPFILEHEADER), SEEK_SET);
fread(&info_header, 1, sizeof(BITMAPINFOHEADER), f);
 
  info_header.biSize = sizeof(BITMAPINFOHEADER);
  printf("info_header.biSize: %x\n", info_header.biSize);
  printf("info_header.biWidth: %d\n", info_header.biWidth);
  printf("info_header.biHeight: %d\n", info_header.biHeight);
  printf("info_header.biPlanes: %d\n", info_header.biPlanes);
  printf("info_header.biBitCount: %d\n", info_header.biBitCount);
  printf("info_header.biCompression: %d\n", info_header.biCompression);
  printf("info_header.biSizeImage: %d\n", info_header.biSizeImage);
  printf("info_header.biXPelsPerMeter: %d\n", info_header.biXPelsPerMeter);
  printf("info_header.biYPelsPerMeter: %d\n", info_header.biYPelsPerMeter);
  printf("info_header.biClrUsed: %d\n", info_header.biClrUsed);
  printf("info_header.biClrImportant: %d\n", info_header.biClrImportant);
 
info_header.biBitCount = 32;
 
fseek(g, sizeof(BITMAPFILEHEADER) , SEEK_SET);
fwrite(&info_header, 1, sizeof(BITMAPINFOHEADER), g);
 
}
 
printf("bmp_header.bfType: %x\n", bmp_header.bfType);
printf("bmp_header.bfSize: %x\n", bmp_header.bfSize);
printf("bmp_header.bfReserved1: %x\n", bmp_header.bfReserved1);
printf("bmp_header.bfReserved2: %x\n", bmp_header.bfReserved2);
printf("bmp_header.bfOffBits: %x\n", bmp_header.bfOffBits);
 
printf("sizeof(BITMAPFILEHEADER) : %x %d\n", sizeof(BITMAPFILEHEADER), sizeof(BITMAPFILEHEADER));
printf("sizeof(BITMAPV4HEADER) : %x %d\n", sizeof(BITMAPV4HEADER), sizeof(BITMAPV4HEADER));
printf("sizeof(BITMAPV5HEADER) : %x %d\n", sizeof(BITMAPV5HEADER), sizeof(BITMAPV5HEADER));
 
 
// перебор пикселей изображения
int offset;
int offset2;
int j = 0;
int h = sizeof(pixel_rgb);
printf("sizeof(pixel_rgb) : %x %d\n", sizeof(pixel_rgb), sizeof(pixel_rgb));
pixel_rgb rt;
pixel_rgba rt2;
// условие остановки
while(bmp_header.bfOffBits +  j * sizeof(pixel_rgb) < bmp_header.bfSize)
{
offset =  bmp_header.bfOffBits +  j * sizeof(pixel_rgb);
offset2 =  bmp_header.bfOffBits +  j * sizeof(pixel_rgba);
fseek(f, offset , SEEK_SET);
fread(&rt, 1, sizeof(pixel_rgb), f);
rt2.b = rt.b;
rt2.g = rt.g;
rt2.r = rt.r;
if (rt.b == 255 && rt.g == 255 && rt.r == 255)
 rt2.a = 255;
else
 rt2.a = 0;
 
printf("%x %x %x ",  rt.b,  rt.g,  rt.r);
 
fseek(g, offset2 , SEEK_SET);
fwrite(&rt2, 1, sizeof(pixel_rgba), g);
 
j++;
}
 
fclose(f);
fclose(g);
 
return 0;
}


Вернуться к обсуждению:
Вывод bitmap под углом C++ WinAPI
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2014, 13:02
Готовые ответы и решения:

Рисование эллипса под углом, WinApi
Всем привет, в WinApi для рисования эллипса используется функция Ellipse(), но она рисует только...

Получение фото с веб камеры, занесение его в Bitmap и преобразование Bitmap в массив
В общем необходимо подключиться к веб камере сделать снимок и отправить его в сеть. Задачу я...

Вывод label под заданным углом.
Необходимо вывести элемент label под заданным углом, если есть примеры, идеи, мысли о том как это...

Картинка под углом.
Не могу зделать картинку под углом нужно повернуть на несколько градусов, кто нибудь знает...

2
11.11.2014, 13:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2014, 13:02
Помогаю со студенческими работами здесь

Анимация под углом
Здравствуйте, помогите пожалуйста с анимацией - нужно данную анимацию повернуть на угол (допустим...

Фон под углом
Скажите как лучше делать такие косые фоны?

Текст под углом
Здравствуйте. Помогите пожалуйста ниписать текст по вертикали. t.Format(&quot;%g&quot;,L); ...

Текст под углом
Здесь рассказано, как вывести текст на канву под заданным углом... Почему у меня ничего не...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru