Roma77751
-
Постов
77 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Сообщения, опубликованные Roma77751
-
-
59 минут назад, dnekrasov сказал:
Давайте
TInternalColor = packed record case Integer of 0: {$IFDEF BIGENDIAN} (A, R, G, B: System.Byte); {$ELSE} (B, G, R, A: System.Byte); {$ENDIF} 1: (Color: TAlphaColor); end; ... TGifRGB = packed record {$IFDEF BIGENDIAN} B, G, R: Byte; {$ELSE} R, G, B: Byte; {$ENDIF} end; ... procedure ReadPalette(Stream: TStream; Size: Integer; var APalette: TPalette); var RGBEntry: TGifRGB; I: Integer; c: TInternalColor; begin SetLength(APalette, Size); for I := 0 To Size - 1 Do begin Stream.Read(RGBEntry, SizeOf(RGBEntry)); with APalette[I] do begin R := RGBEntry.R; G := RGBEntry.G; B := RGBEntry.B; A := $FF; end; end; end;
Попробуйте заменить объявления типов и чтение палитры (то, что Вы меняли). На винде в таком виде работает правильно. Если на Android тоже будет всё ок, то можно считать, что теперь всё в порядке.
попробовал. результат отрицательный. Опять все синее... на андроид
-
-
13 минут назад, dnekrasov сказал:
А Вы под Windows проверили? Теперь у меня (с Вашим исходником) цвета R и B поменялись. Да и вообще, что-то мне совсем непонятна такая запись
B := RGBEntry.R or (RGBEntry.R shl 8);
т.е. тут байту присваивается двухбайтное значение.
Да и проблема, как мне кажется, здесь в том, что при объявлении TInternalColor учитывается порядок байт (Big-Endian или нет), а вот в объявлении TGifRGB - нет.
под виндой не проверял. Но так и думал что цвета поменяются, этот код(неисправленный) под виндой норм все отображал, а под андроидом криво....с одним и тем же кодом...получается если мы тупо в коде поменяли цвета, то сейчас наверное под виндой все синее... у меня конкретно была проблема с андроидом, это решение видимо не самое оптимальное, но меня устраивает....если есть желание давайте попробуем разобраться с этим...я за!)
-
-
-
В 23.08.2016 в 04:55, Martifan сказал:
доброго времени сутки
подскажите пожалуйста как запустить GIF файл? чтобы анимацию показывалазаранее спасибо
подключаешь исправленный модуль
Gif: tgifplayer; // объявляешь переменную
procedure TForm1.FormCreate(Sender: TObject);
begin
Gif:= TGifPlayer.Create(Self);//создаешьGif.Image := Image1;//указываешь где будет отображаться gif-ка
Gif.LoadFromFile(Tpath.Combine(TPath.GetDocumentsPath, 'filename'));// указываешь путь к файлу в данном случае на андроид папка assets\internal...если файл во внешнем доступе(просто \assets)пишешь путь Gif.LoadFromFile(Tpath.Combine(TPath.GetSharedDocumentsPath, 'filename'));gif.Play;//воспроизводишь
end; -
-
ПРОБЛЕМА РЕШЕНА! Всем спасибо, отдельное спасибо dnekrasov и IVGSoft, натолкнули на верную мысль. Только менять переменные надо было тут
Begin
Stream.Read(RGBEntry, SizeOf(RGBEntry));
With APalette do
begin
B := RGBEntry.R or (RGBEntry.R shl 8);
G := RGBEntry.G or (RGBEntry.G shl 8);
R := RGBEntry.B or (RGBEntry.B shl 8);
A := $FF;
end;видимо китайцы что то напутали...?"> Прикрепляю исправленный исходник.
-
16 часов назад, dnekrasov сказал:
Точно не скажу, но мне кажется, что проблема в объявлении TInternalColor. По идее, должно быть так:
TInternalColor = packed record case Integer of 0: ( {$IFDEF BIGENDIAN} A, R, G, B: Byte; {$ELSE} B, G, R, A: Byte; {$ENDIF} ); 1: (Color: TAlphaColor; ); end;
Возможности проверить нет, но попробуйте изменить - должно помочь.
в коде было так:
TInternalColor = packed record case Integer of 0: ( {$IFDEF BIGENDIAN} R, G, B, A: Byte; {$ELSE} B, G, R, A: Byte; {$ENDIF} ); 1: (Color: TAlphaColor; ); end; не совсем понял, все же по сути одинаково или я чего то не понимаю... ну я поменял на ваш код все равно все синее
-
13 часов назад, CyberStorm сказал:
Кстати сейчас сайт китайца отлично открывается Китайцы вообще молодцы, и делфи самые первые ломают и кряки делают и модули всякие
Да.. по китайски но делают
-
Только что, dnekrasov сказал:
Точно не скажу, но мне кажется, что проблема в объявлении TInternalColor. По идее, должно быть так:
TInternalColor = packed record case Integer of 0: ( {$IFDEF BIGENDIAN} A, R, G, B: Byte; {$ELSE} B, G, R, A: Byte; {$ENDIF} ); 1: (Color: TAlphaColor; ); end;
Возможности проверить нет, но попробуйте изменить - должно помочь.
утром протестирую отпишусь спасибо
-
-
18 минут назад, FREEFAR сказал:
Рома, реально рассмотри варик работы с SQL lite& ЧЕрез пару месяцев работы с этой бд сам будешь рад профиту.
я от баз настолько далек, что думаю много времени уйдет на освоение(((в аксесе как то все понятно, я и управление под него написал на сервере...тупняк заключается в том что у меня не хватает мозгов осуществить доступ к ней из под андроид клиента должным образом. Поэтому пока решил передавать при подключении клиента базу по хттп если в ней были изменения-клиент принял сделал что нужно отправил ответ... база будет редко обновляться, поэтому думаю прокатит такой вариант.... Может колхозно, но на более пока не хватает знаний... хочу пока так попробовать а дальше буду заниматься "улучшайзингом") ....и сходу траблы не отображается база на телефоне хоть убей....сейчас проверяю путь к базе...у меня так путь определяется p:=TPath.Combine(TPath.GetDocumentsPath, '1.mdb'); попробую вручную указать...
почему задал вопрос на форуме, хотел уточнить точно ли можно с ней работать из под android, а то может я бьюсь в стенку вместо дверей...
-
Друзья доброго времени суток! Ребят подскажите плз, облазил форумы что-то не нашёл инфу, видимо access'ом вообще никто не пользуется или его нельзя использовать в андроиде...в общем ситуация такая: база данных в access загружена на телефоне. Нужно просто отобразить Ее в гриде... я сделал так:
добавил на форму dbdemosconnection(вкладка firedac),fdquery, грид и кнопку. В fdquery прописал sql запрос и с помощью live bindings соединил его с гридом.(в таком раскладе если прописать путь в dbdemosconnection под виндой все работает-проверил. Далее по нажатию кнопки dbdemosconnection.params.database:=путь к файлу на телефоне. Ну и fdquery.active:=true. В итоге приложение просто вылетает когда fdquery.active пытается перейти в значение true... в чем проблема? На андроиде нельзя отобразить access базу или я что-то делаю не так?
-
Я не особо разбираюсь, но чтобы делфи не материлась сделал так
MergeBitmap(aFrames.Bitmap, aDisplay, Bounds(0,0,aframes.Bitmap.Width,aframes.bitmap.Height),aFrames.FPos.X, aFrames.FPos.Y);
так компилируется, но все все равно синее
-
53 минуты назад, IVGSoft сказал:
Конкретней можно? Какую ошибку выдает? Какая версия Дельфи?
Delphi XE7
[dcc32 Hint] FMX.GifUtils.pas(246): H2077 Value assigned to 'MoveBytes' never used
[dcc32 Warning] FMX.GifUtils.pas(418): W1000 Symbol 'Seek' is deprecated
[dcc32 Warning] FMX.GifUtils.pas(428): W1000 Symbol 'Seek' is deprecated
[dcc32 Warning] FMX.GifUtils.pas(434): W1000 Symbol 'Seek' is deprecated
[dcc32 Warning] FMX.GifUtils.pas(473): W1000 Symbol 'Seek' is deprecated
[dcc32 Error] FMX.GifUtils.pas(683): E2003 Undeclared identifier: 'Bounds'
[dcc32 Error] FMX.GifUtils.pas(698): E2003 Undeclared identifier: 'Bounds'
[dcc32 Fatal Error] Unit1.pas(7): F2063 Could not compile used unit 'FMX.GifUtils.pas'
Failed -
-
-
5 часов назад, ENERGY сказал:
Попробуйте этот же модуль, только с исправленными багами.
http://fire-monkey.ru/topic/5029-обработка-анимированных-gif-по-рецепту-китайского-коллеги/
исправленная версия выдает ошибку, я ошибку в коде поправил насколько сам смог понять что там происходит, но на цвете это не отразилось совсем...все по прежнему синее((((блин в чем дело...это только у меня чтоли так?
-
В 20.06.2018 в 15:12, IVGSoft сказал:
В конце концов получилось исправить.
Для interlaced гифок проблема была вообще пустяковая. Одна строчка не в том месте. А вот для optimized все оказалось несколько сложней, но в итоге теперь все гифки отображаются правильно.
Пользуйтесь на здоровье!
Доброго времени суток! в твоем коде делфя ругается на эту строчку
" MergeBitmap(aFrames[Index].Bitmap, aDisplay, aFrames[Index].Bitmap.Bounds, aFrames[Index].FPos.X, aFrames[Index].FPos.Y);"
а конкретно на" aFrames[Index].Bitmap.Bounds"
подскажи что не так плз...чет не могу разобраться
-
20 минут назад, ENERGY сказал:
Попробуйте этот же модуль, только с исправленными багами.
http://fire-monkey.ru/topic/5029-обработка-анимированных-gif-по-рецепту-китайского-коллеги/
Спасибо за ответ, вечером протестирую отпишусь
-
В 27.03.2018 в 20:24, FREEFAR сказал:
кому интересно кто искал как воспроизвести GIF на Image
китайский брат постарался))
http://www.raysoftware.cn/?p=559
на Win и Andriod все четко
Доброго времени суток! Друзья подскажите плз, почему гифки по этому коду отображаются без красной цветовой гаммы??? Короче гифки все синие... а jpeg норм отображаются... очень нужно подскажите в чем дело...
-
FMX тут ни при чем. Возможно, вашему приложению не хватает каких-то разрешений.
Где можно это посмотреть?
P.S. спасибо за помощь.
вопрос снимаю,нашел и поставил tmsfmxwebbrowser,пока все работает. Кстати TMS Pack for FireMonkey есть на codmasters.ru, если кто не найдет пишите ссылку кину.
-
Целевая платформа?
Приложение только для android, если вы об этом.
Работа с намерениями в iOS
в iOS
Опубликовано
не хотелось бы новую тему поднимать, но никак не могу разобраться с намерением позвонить в IOS. Что то в статье ничего не накопал... и инфы мало по этой теме... в общем оч нужна помощь