powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TGA Криво сохраняет картинку;
18 сообщений из 43, страница 2 из 2
TGA Криво сохраняет картинку;
    #39651293
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9neвзял этот код, подставил свои пути в loadfromfile и savetofile - больше ничего не трогал!
эффект тот же) часть изображения сдвигается.
delphi 7
мистика
Ну я тестировал на XE2, сейчас на 7ке попробую.
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651296
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpНу я тестировал на XE2, сейчас на 7ке попробую.
На Delphi 7 у меня тоже нормально сохраняет.
Вопрос на засыпку: где вы брали GraphicEx?.. Я - вот здесь .
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651298
527470
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вообще у этой либы есть косяк с палитрой:
Код: pascal
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.
//сначала записываем заголовок
      Stream.Write(Header, SizeOf(Header));

      if ColorMapType = 1 then
      begin
        with LogPalette do
        begin
          GetPaletteEntries(Palette, 0, 256, palPalEntry);
          for I := 0 to 255 do
          begin
            Stream.Write(palPalEntry[I].peBlue, 1);
            Stream.Write(palPalEntry[I].peGreen, 1);
            Stream.Write(palPalEntry[I].peRed, 1);
          end;
        end;
//а потом меняем его на правильные значения тут
        ColorMapSize := 256;
        ColorMapEntrySize := 24;
      end
      else
      begin
//и тут
        ColorMapSize := 0;
        ColorMapEntrySize := 0;
      end;
    end;



я не проверял под отладчиком, но выглядит как баг.
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651300
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpalekcvpНу я тестировал на XE2, сейчас на 7ке попробую.
На Delphi 7 у меня тоже нормально сохраняет.
Вопрос на засыпку: где вы брали GraphicEx?.. Я - вот здесь .
качал тут:
Сейчас качаю с гитхаба. Попробую - отпишусь тут
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651301
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин редактировать сообщения нельзя? )
тут качал
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651321
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понимаю, нужно указать папку в Library, на паку graphicex-master ?
пишу в юзес graphicex, компилю пустой проект, выдает ошибку:
[Fatal Error] GraphicCompression.pas(45): File not found: 'zLibEx.dcu'
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651325
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9ne,

среда, к сожалению, ничего не знает о том, где расположены твои скачанные библиотеки. поэтому стоит прописывать пути к ним. инсталляторы часто это делают сами.
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651336
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonTech N9ne,

среда, к сожалению, ничего не знает о том, где расположены твои скачанные библиотеки. поэтому стоит прописывать пути к ним. инсталляторы часто это делают сами.
Так я и прописал путь к папке GraphicEx.
Environment options - library - add всё так же как и до этого делал.
указал все папки, даже подпапки.
В самой библе нет такого файла как zlibex. dcu
результат поиска в скачанном архиве:

именно DCU там нет
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651338
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Tech N9nemakhaonTech N9ne,

среда, к сожалению, ничего не знает о том, где расположены твои скачанные библиотеки. поэтому стоит прописывать пути к ним. инсталляторы часто это делают сами.
Так я и прописал путь к папке GraphicEx.
Environment options - library - add всё так же как и до этого делал.
указал все папки, даже подпапки.
В самой библе нет такого файла как zlibex. dcu
результат поиска в скачанном архиве:

именно DCU там нет
DCU появляется ПОСЛЕ компиляции PAS файла.
хоспаде.....
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651342
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чудом всё нашлось...
Теперь.. Беру код:
program tgarect;

{$APPTYPE CONSOLE}

{$R *.res}

uses
WinApi.Windows,
System.SysUtils,
System.Classes,
Vcl.Graphics,
Vcl.Imaging.jpeg,
GraphicEx;

var
SImg: TJPEGImage;
Temp: TBitmap;
TImg: TTargaGraphic;
SRect: TRect;
DRect: TRect;
begin
try
Temp := nil;
TImg := nil;
SImg := TJPEGImage.Create;
try
SImg.LoadFromFile('..\..\earth.jpg');
Temp := TBitmap.Create;
Temp.Assign(SImg);
TImg := TTargaGraphic.Create;
TImg.Height := 512;
TImg.Width := 512;
SRect.TopLeft := Point((SImg.Width - TImg.Width) div 2, (SImg.Height - TImg.Height) div 2);
SRect.BottomRight := Point(SRect.Left + TImg.Width, SRect.Bottom + TImg.Height);
DRect := Rect(0, 0, TImg.Width, TImg.Height);
TImg.Canvas.CopyRect(DRect, Temp.Canvas, SRect);
TImg.SaveToFile('..\..\small.tga');
finally
Temp.Free;
TImg.Free;
SImg.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.


Ни одна программа не открывает сохранившееся изображение.
и вес странный) 10 кб)
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651351
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9ne,

Надо прописать два пути: 1й к ...\GraphicEx, 2й - к ...\GraphicEx\3rd Party\DelphiZLib
Если у вас Delphi 7, то в моём примере в USES необходимо убрать пространства имён (Winapi. , System. - вот это вот всё).

Я у себя проверил: на дельфи 7 даже с вашей картинкой всё нормально работает, что-то вы делаете не так. Как вариант - где-то в путях выше GraphicEx лежат какие-то одноимённые юниты, которые конфликтуют (используются вместо нужных).
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651357
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не боитесь, можете проверить где-нибудь на виртуалке:
https://www.dropbox.com/s/a1qjvozjsg1in2w/tgarect.exe?dl=1

Преобразует файл earth.jpg в каталоге с .exe, сохраняет там же small.tga (вырезает кусок 512х512 из середины).
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651414
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переустановил винду))))))) давно уже пора)
установил delphi7
подключил библы graphicex
беру код который мне кидали в сообщениях
program tgarect;

{$APPTYPE CONSOLE}

{$R *.res}

uses
WinApi.Windows,
System.SysUtils,
System.Classes,
Vcl.Graphics,
Vcl.Imaging.jpeg,
GraphicEx;

var
SImg: TJPEGImage;
Temp: TBitmap;
TImg: TTargaGraphic;
SRect: TRect;
DRect: TRect;
begin
try
Temp := nil;
TImg := nil;
SImg := TJPEGImage.Create;
try
SImg.LoadFromFile('..\..\earth.jpg');
Temp := TBitmap.Create;
Temp.Assign(SImg);
TImg := TTargaGraphic.Create;
TImg.Height := 512;
TImg.Width := 512;
SRect.TopLeft := Point((SImg.Width - TImg.Width) div 2, (SImg.Height - TImg.Height) div 2);
SRect.BottomRight := Point(SRect.Left + TImg.Width, SRect.Bottom + TImg.Height);
DRect := Rect(0, 0, TImg.Width, TImg.Height);
TImg.Canvas.CopyRect(DRect, Temp.Canvas, SRect);
TImg.SaveToFile('..\..\small.tga');
finally
Temp.Free;
TImg.Free;
SImg.Free;
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.

в uses подключил graphicex, jpeg;
Не выдаёт никаких ошибок, всё компилится и запускается без проблем!
Но сохраняет файл, который посмотреть нельзя. Что-то с ним не то кароч...

Как так ребят? У меня мозг уже кипит!) всё делаю же правильно епть_) что не так то ???
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651416
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боже, теперь даже исходник который шёл с библой "Convert" сохраняет так, что не могу посмотреть.
Picasa пишет "недопустимо"
убейте меня кто нибудь
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651472
Фотография Tech N9ne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окей, ладно.......... А есть альтернатива GraphicEx ?
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651587
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tech N9neПереустановил винду))))))) давно уже пора)
установил delphi7
подключил библы graphicex
Ну если подходить так глобально, то можно заодно пройти какие-нибудь релевантные курсы, изучить пару-другую книг по Дельфи, ООП и по программированию вообще. Как говорится - давно уже пора)
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651612
DesWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tech N9ne,
Глянул я этот формат, за два дня можно самому реализовать было. Тебе же не надо поддерживать "зоопарк" вариантов формата, а можно сохранять во вполне конкретный вариант, который тебя устроит.
...
Рейтинг: 0 / 0
TGA Криво сохраняет картинку;
    #39651740
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DesWind,

А антивирус какой стоит?
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TGA Криво сохраняет картинку;
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]