…а все потому, что способ у меня какой-то совершенно бестолковый!!!:)
hDC = GetDC(hWnd);
bmp.CreateDib24(H.width, H.height, "1.bmp");
for (y = 0; y < H.height; ++y)
{
for (x = 0; x < H.width; ++x)
{
color = GetPixel(H.ImageDC, x, H.height-y);
bmp.SetPixel(x, y, color);
}
}
ReleaseDC(hWnd, hDC);
bmp.StoreDib24();
H – Объект класса, реализующего рисование некоторой фигуры (пусть просто изображение)
4 июня 2008 в 17:05
Спасибо, сел разбираться пока с GetDIBits, но с CImage непременно поколдую тоже!…:)
3 июня 2008 в 12:03
Ну, если на чистом API, то GetDIBits в руки и вперёд.
3 июня 2008 в 4:02
тролль ^^
3 июня 2008 в 3:05
Вероятно человек пишет на чистом API и ATL & MFC не приемлемы, хотя CImage есть действительно удобная штука
#8
Хде тролли? Дотнет зло
3 июня 2008 в 2:00
Читать попиксельно, действительно, очень медленно. Я бы посмотрел в сторону функции GetDIBits.
В ATL (или в MFC ??? ) есть класс CImage, который позволяет работать с картинками и сохранять их в файл быстро и удобно. Нужно ли изобретать велосипед?
3 июня 2008 в 1:03
тролли зло
3 июня 2008 в 1:01
Сишарп зло ибо дотнет
3 июня 2008 в 0:05
пардон
2 июня 2008 в 23:00
сишарп к винапи не имеет отношения, он использует функции .net фреймворка)
2 июня 2008 в 22:02
я в этом семестре писал курсовик по теме "Простейший графический редактор",для сохранения я сделал следующее ток код на C# если что.
private void saveToolStripButton1_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
switch (saveFileDialog1.FilterIndex)
{
case 1:
bmp.Save(saveFileDialog1.FileName, ImageFormat.Jpeg);
break;
case 2:
bmp.Save(saveFileDialog1.FileName, ImageFormat.Bmp);
break;
case 3:
bmp.Save(saveFileDialog1.FileName, ImageFormat.Png);
break;
default:
bmp.Save(saveFileDialog1.FileName, ImageFormat.Gif);
break;
}
bmp.Save(saveFileDialog1.FileName);
}
}
2 июня 2008 в 20:00
почитай тут
//msdn.microsoft.com/en-us/library/ms532314(VS.85).aspx
достаточно понятный пример
2 июня 2008 в 19:04
И вот он каждый для каждого пиксела изображения определяет цвет, что, если я не ошибаюсь происходит очень медлено и вообще, нежелательно. После этот цвет пишет в нужный мне файл.
для рисунка 1280×1024 сохранение длится около 5 секунд!!!
Ввиду отсутствия опыта программирования с использованием WinAPI, не знаю как сделать по уму.