Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что-то не так в исходничке, однако :-( [D6, WinXP]


Страницы:   1 2

Николай Быков ©   (2002-11-16 18:56:00) 

Вот заколебался я уже над ним и решил вам показать, может что-нибудь скажите.
unit uMainFrm;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OpenGL;

type
TMainFrm = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainFrm: TMainFrm;
bmp:TBitmap;
cx,cy:integer;
arbmp:array [0..89,0..89]of BYTE;
dc:HDC;
hrc:HGLRC;
implementation

{$R *.dfm}

procedure TMainFrm.Button1Click(Sender: TObject);
var
i,j:integer;
begin
wglMakeCurrent(dc,hrc);
glViewPort(0,ClientHeight,ClientWidth,ClientHeight);
glPointSize(20);
bmp:=TBitmap.Create;
bmp.LoadFromFile("tank.bmp");
for i:=0 to bmp.Width-1 do
for j:=0 to bmp.Height-1 do
arbmp[i,j]:=bmp.canvas.pixels[i,j];
{


k   (2002-11-18 15:25:00) [1]

что-то с форматом цвета.. экспериментируй.

наконец еще попробуй RGB типа float - читай док по glDrawPixels


Николай Быков   (2002-11-18 15:09:00) [2]


> k © (18.11.02 14:29)

Да пробовал


> Андрей Прокофьев © (18.11.02 14:15)

Да пробовал


ИМХО косяк не в этом, хотябы потому, что все-таки рисуется изображение, просто оно не такое, как надо. там рисуется вместо нормальной картинки черный квадрат с вкраплениями зеленого булого и еще всяких разных цветов


k   (2002-11-18 14:29:00) [3]

как насчет
glViewPort(0, 0,ClientWidth,ClientHeight);?
пробовал
glDrawPixels(90,90,GL_RGB,GL_BYTE,@arbmp);(90,90,GL_RGB, GL_INT,@arbmp);?

если используешь glDrawPixels(90,90,GL_RGB,GL_BYTE,@arbmp);, то неплхо бы задать начальную позицию при помощи glRasterPos

и ваще что конкретно не получается? что на экран выводится?


Андрей Прокофьев   (2002-11-18 14:15:00) [4]

>>glViewPort(0,ClientHeight,ClientWidth,ClientHeight);
glViewPort(0, 0,ClientWidth,ClientHeight);


Николай Быков   (2002-11-18 14:11:00) [5]


> k © (18.11.02 13:13)

Ну пробовал я array[...] ofinteger (4 байта)
не помогает


k   (2002-11-18 13:13:00) [6]


arbmp[i,j]//сюда надо присвоить байт
:=
bmp.canvas.pixels[i,j]; // а это возвращает значение TColor т.е 4байта


и не забудь битмап в конце procedure TMainFrm.Button1Click(Sender: TObject);уничтожить
удачи


Николай Быков   (2002-11-18 12:49:00) [7]

Up


Николай Быков   (2002-11-17 18:32:00) [8]


> Shadow © (17.11.02 18:25)
> Ты уверен, что именно в этом

Ну я и привел весь исходник на случай если не в это ошибка.
Ты лучше помоги, а не трепись просто так. это другой разлдел форума


Shadow   (2002-11-17 18:25:00) [9]

Ты уверен, что именно в этом месте ошибка?


Николай Быков   (2002-11-17 18:19:00) [10]

Ты про че?
Я говорю, что пробовал так и так, но ничего не получилось.
Спрашиваю что я не так делаю?


Shadow   (2002-11-17 18:15:00) [11]

Так какого хера запутался в строчках?!


Николай Быков   (2002-11-17 17:36:00) [12]

Нет! Не уверен, иначе бы не писал в этот форум


Shadow   (2002-11-17 17:19:00) [13]

>arbmp:array [0..89,0..89]of BYTE;
>glBitmap(90,90,0,0,100,00,@arbmp);
Ты уверен,что все правильно?


Николай Быков   (2002-11-17 16:28:00) [14]

АП


Николай Быков   (2002-11-17 12:17:00) [15]

UP.


Николай Быков   (2002-11-17 11:47:00) [16]

АП


Николай Быков   (2002-11-17 10:39:00) [17]

Хорошо. Если лень разбираться в исходнике, то просто ответьте на вопрос:
Как вывести изображение BitMap на форму средствами OpenGL
Я вот нашел в хелпе две процедуры (в исходнике написаны), но похоже я что-то не так делаю, потому вместо картинки выводится какая-то фигня


Николай Быков   (2002-11-17 10:24:00) [18]

{ВОТ ЗДЕСЬ КАКОЙ_ТО КОСЯК!!!!!!!!!!!!!!!}
glDrawPixels(90,90,GL_RGB,GL_BYTE,@arbmp);
glBitmap(90,90,0,0,100,00,@arbmp);
{А КАК ЕГО ИСПРАВИТЬ? Х... ЗНАЕТ!}


Viktor Kushnir   (2002-11-17 08:59:00) [19]

Офигенно, но нельзя ли повторить комментарии в тексте программы в виндовой кодировке?


Николай Быков   (2002-11-17 05:39:00) [20]

UP.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо