1 / 1 / 0
Регистрация: 18.05.2013
Сообщений: 5
1

Проблема с графикой?!

26.05.2009, 12:19. Показов 907. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, All!

пытаюсь вывести спрайт с маской на форму, получается какаято беда пример взял отсюда http://www.delphigfx.narod.ru/2d/2d_1.htm
Код
...
var 
Wizard, WizardMask,Buffer:Tbitmap; 
X,Y:integer;
begin
Wizard:=Tbitmap.Create; 
Wizard.Loadfromfile('spr1.bmp'); 
WizardMask:=Tbitmap.Create; 
WizardMask.Loadfromfile('spr2.bmp'); 
Buffer:=Tbitmap.Create; // Копируем маску в буфер 
BitBlt(Buffer.Canvas.Handle,0,0,50,50, WizardMask.Canvas.Handle,0,0,SrcPaint); 
// Копируем спрайт в буфер 
BitBlt(Buffer.Canvas.Handle,0,0,50,50, Wizard.Canvas.Handle,0,0,SrcAnd); 
// Перемещаем буфер на форму BitBlt(Form1.Canvas.Handle,0,0,320,240,Buffer.Canvas.Handle,0,0,SrcCopy);
по идеи предполагалось что будет выводится только часть спрайта,но картинка выходит полностью, с белым полем в чем дело я не понял

ктонибудь сведующий растолкуйти что и как

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.05.2009, 12:19
Ответы с готовыми решениями:

Проблема с графикой
Здравствуйте все. Это вопрос от школьника. В том смысле что я только начал осваивать Visual Basic...

Проблема с DirectX и 3D графикой
купил новую материнку, переустановил винду, все дрова как надо, но... КС 1.6 запускается, только...

Проблема с играми/графикой в Windows 7
Всем привет. Помогите пожалуйста решить проблему: Короче, на Windows 7 в играх графика какая-то вся...

проблема с графикой в code blocks
друг скинул готовую прогу-меню,но она у меня не компилится,выдает мне библиотеку <graphics.h> и...

1
1 / 1 / 1
Регистрация: 31.01.2008
Сообщений: 39
11.08.2009, 18:38 2
Поменяй местами WizardMask и Wizard таким вот макаром:
Код
procedure TForm1.Button1Click(Sender: TObject);
var
  Wizard, WizardMask, Buffer:Tbitmap;
  X,Y:integer;
begin
  Wizard:=Tbitmap.Create;
  Wizard.Loadfromfile('c:spr1.bmp');
  Wizard.PixelFormat:=pf24bit;
  WizardMask:=Tbitmap.Create;
  WizardMask.Loadfromfile('c:spr2.bmp');
  WizardMask.PixelFormat:=pf24bit;
  Buffer:=Tbitmap.Create;
  Buffer.PixelFormat:=pf24bit;
  Buffer.Height:=300;
  Buffer.Width:=300;
  BitBlt(Buffer.Canvas.Handle, 0, 0, 300, 300, Wizard.Canvas.Handle, 0, 0, SRCPAINT);
  BitBlt(Buffer.Canvas.Handle, 0, 0, 300, 300, WizardMask.Canvas.Handle, 0, 0, SRCAND);
  BitBlt(Canvas.Handle, 0, 0, Width, Height, Buffer.Canvas.Handle, 0, 0, SRCCOPY);
end;
и размер Buffer'а укажи...

Удачи!!!
1
11.08.2009, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2009, 18:38
Помогаю со студенческими работами здесь

Проблема с графикой в Mass Effect 3
Mass Effect 3 не понятная графика с сине зелеными тенями. в чем может быть дело

Проблема с графикой в Call of Duty
вся проблема показана на скрине

Acer F5-571G, quanta zrt, проблема с интегрированой графикой
Сразу скажу что в ноутах я наверное не делетант даже, умею только в блочный ремонт. Сам я...

Ребята большая проблема с Графикой на Си! О4ень нужна помощь!
Вывести график функции и таблицу значений аргумента x и функции y: диапазон изменения...

Проблема с встроенной графикой Vega3 процессора Athlon 200GE
Здравствуйте. Помогите решить проблему со встроенной графикой (точнее нужен совет). Две недели...

Проблема с дискретной графикой Nvidia gt720m на ноутбуке Lenovo B590
Здравствуйте ,прошу помощи в решении проблемы. Имеется ноут lenovo b590 20208 с gt720m на борту ,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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