Перейти к содержанию
  • Регистрация
  • 0
Сергей Сергеев

картинки не отрисовываются из ImageList

Вопрос

Привет всем!

Поймал такой глюк - пока только на одном устройстве - Samsung gt i9505 andr 4.2.2 - ядро 3.4.0, на десятке других не замечено.

Delphi Seattle 6.1 b 7601 - win 7 - 64  Android SDK 25.2.2.-32 bit

Создал форму, на нее кнопку , ImageList - загрузил одну иконку 32*32 

из 10 запусков - один с картинкой на кнопке , 9 - без.. причем она вроде есть.. но как марево из точек..

тоже самое с Glyph ( добавил), а в TImage ( добавил) - где изображение загружено напрямую в битмап - все ок.

Что делать - как обойти?Спасибо всем заранее..

Спойлер


Form.jpg

IL.jpg

IMG_20161216_145627.jpg

IMG_20161216_150341.jpg

IMG_20161216_150341.jpg

 

 

Изменено пользователем Сергей Сергеев
спойлер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

заметил, что те ImageList что указаны в DesignTime - "портятся" как то.. сделал по кнопке переключение на другой ИмаджЛист, и обратно на тот что в десигн указан..

картинки то есть, то марево..

отцепил первый от Десигн.. т.е. оба болтаются не пристегнутые к Контролам, теперь по переключающей кнопке - показывает оба - то один, то другой.. все ок..

но рано радовался - при "сворачивании" - кнопкой домой и разворачивании портится оба Листа и перестают отприсовываться.. похоже, что для хранения картинок используется какая то общая память.. которую трут все кому не лень..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
В 20.12.2016 в 11:05, Brovin Yaroslav сказал:

На лицо баг с графическим контекстом. Я бы проверил на берлине.

В Берлине с картинками все ок, но пошли проблемы с получением данных с SQL Servera ( DataSnap) .. уж и не знаю что лучше.. :) тут сдавать надо.. в Сиетле с картинками никак не решить?

Вот такая ошибка идет с сервера (это я и сервер в берлине перекомпилил.. ) при открытии Open на клиенте клиентского TClientDataset.. при этом в WIN версии этого же  приложения - все работает..

пс. качаю Berlin UpDate 2. может там получше

пспс - В Berlin UpDate 2. - datasnap заработал..надеюсь  и картинки будут на месте - завтра проверю. как все тонко - аш страшно.. :)

пспспс - да все заработало, и картинки и Datasnap на "подозрительном" Samsung S4. правда есть другие глюки странные.. позже сформулирую в другой теме.

.

 

Спойлер

Screenshot_20161220-173434.jpg

 

Изменено пользователем Сергей Сергеев
+ скрин шот, описание, результат

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Сергей, добрый день!

Удалось ли Вам решить проблему с отображением картинок?

Обнаружил проблему в Андроиде и с другими Битмапами: при сворачивании кнопкой "Домой", открытии  другого приложения, где есть графика; разворачивании приложения снова - картинки в битмапе пропадают...

У меня - Берлин 10.1

photo_2017-02-14_19-59-56.jpg.44d9885f433f7991cea0f678628843ff.jpg

photo_2017-02-14_20-00-10.jpg.1814df416ca00d7839712f26f3ef7a6a.jpg

Изменено пользователем ra.eremeev

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
4 минуты назад, ra.eremeev сказал:

Сергей, добрый день!

Удалось ли Вам решить проблему с отображением картинок?

Обнаружил проблему в Андроиде и с другими Битмапами: при сворачивании кнопкой "Домой", открытии  другого приложения, где есть графика; разворачивании приложения снова - картинки в битмапе пропадают...

У меня - Берлин 10.1

 

 

привет, у меня картинки не пропадали целиком, а "рассыпались" - кое какие точки оставались.. этакий муар, было только в TGlyph а в TImage - все ок, и на одном телефоне поймал только.. переход на Берлин апд -  2 - решило проблему

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

3 часа назад, ra.eremeev сказал:

картинки в битмапе пропадают...

У меня - Берлин 10.1

Так в Битмапе или TImageList? Сделайте тестовый пример и направьте в QC. Баги обсуждать здесь бесполезно, т.к. ни кто уже не является работником Embarcadero.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Проблема проявилась с Битмапом. Пробовал решить через костыль с предварительной прогрузкой изображений в TImageList и загрузкой уже оттуда, но тоже действия не возымело :(

Поэтому я в этой ветке обсуждений и оказался :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Кстати я тоже заметил проблему когда портятся картинки в TimageList . Проблема возникает когда часто пользуешься ImageList в Design Time. 

Стоит Berlin Update 2

На них возникают какие то артефакты, типа решетки, или муара. И все, она сохраняется такой в ImageList, и в следующие разы нужно заменять картинку полностью. 

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

Groups48.png

 

Изменено пользователем ENRGY

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От geotub
      Уважаемые знатоки! Здравствуйте!
      с FMX дружу плохо! Задача тривиальная прошу помощи!
      есть соединение с MYSQL через Bind Visual привязан к StringGrid, данные отображаются идеально все хорошо!
      Задача слеждующая:
      - есть колонка "status" со значениями от 0 до 10 
      - есть imageList с картинками в таком же диапазоне 
      Необходимо в StringGgrid вместо значений выводить картинку из imageList равную значению (значение 3 = номер imageList = 3 и тд) 
      Пробовал все Варианты ничего не выходит! Пожалуйста помогите!
    • От Володимир Антонашко
      Здраствуйте.
      В программе я заполняю Tgrid изображениями из Imagelist по имени фото который есть в ячейке . Код :
      if column.index = 8 then //Загрузка картинок. if not value.IsEmpty then begin column.BeginUpdate; i:=StrToInt(maingr.Cells[column.Index,row]); imageindex:=main_form.ImageList1.Source.IndexOf(IntToStr(i)); column.Canvas.Clear(RowColor.Color); main_form.ImageList1.draw(column.Canvas,bounds,imageindex,100); column.EndUpdate; end; Если я уберу очистку канвы то изображения накладуються. А так как есть следующий раз при вызове DrawColumnCell изображение остается только в последней записи.
      Но такой код в  процедуре SelectCell нормально отображает изображение. На каждый вызов. Даже если изображение в ячейке нету.
      if acol = 8 then begin i:=maingr.Cells[Acol,Arow]; imageindex:=main_form.ImageList1.Source.IndexOf(i); imageviewer1.Bitmap.Clear(TAlphaColors.Null); imageviewer1.Bitmap:=main_form.ImageList1.Bitmap(size,imageindex); end; И по поводу памяти. Как я понял, после того как я присвою изображение ячейке, оно загружается в память. Также когда отображается в ImageViewer.
      Но после удаления строки с изображениям, память остается занята для уже использованных изображений.  То есть при повторном показе память больше не занимается и используется изображение которое было ранее загружено. Думаю это нормальное поведение. Так увеличивается скорость работы программы. Но я собираюсь показывать до 50 фотографий одновременно (средний размер 1мб) из 5-10 тисяч. И мне нужно чтоб после использования изображений память очищалась, иначе программа будет кушать под 10гб оперативной памяти.
    • От Rusland
      Delphi Tokyo
      ListView->ItemAppearance->ItemAppearance=DynamicAppearance
      Есть ImageList c 3 картинками.
      Добавляю item-ы в ListView:
      procedure TForm1.Button1Click(Sender: TObject); var i:integer; Lvi: TListViewItem; begin LsvObjects.BeginUpdate; LsvObjects.Items.Clear; try for i:=0 to 100 do begin Lvi := LsvObjects.Items.Add; Lvi.Tag := i; Lvi.Data['ObjectText'] := 'ObjectText '+i.ToString; Lvi.Data['StateText'] := 'StateText '+i.ToString; Lvi.Data['ConnectText'] := 'ConnectText '+i.ToString; end; finally LsvObjects.EndUpdate; end; end; в UpdateObjects рандомно выбираю картинку:
      procedure TForm1.LsvObjectsUpdateObjects(const Sender: TObject; const AItem: TListViewItem); var ... oConnectImage: TListItemImage; r: integer; begin r:=Random(ImageList1.Count); oConnectImage:=aItem.Objects.FindDrawable('ConnectImage') as TListItemImage; if (oConnectImage<>nil) then oConnectImage.ImageIndex:=r; ... end; В Windows все нормально. А вот что я вижу на планшетах:
      На Dexp:   
      На Lenovo:
       
      Картинки могут появиться, а могут и нет. Как исправить ситуацию? Вот сам проект.
      Про Berlin добавлю вопрос позже.
    • От RoschinSpb
      Статья: http://community.embarcadero.com/blogs/entry/timagelist101ru-1 Автор: Сергей Рощин Обзор новых возможностей, которые появились в компоненте и редакторе TImageList для Delphi R101 (2016 год, Version 24)
    • От rareMax
      Что то не могу найти в fmx класс TImageList - есть ли он вообще? Если его нет, дайте совет где хранить изображения(смайлы, штук 20). Спасибо.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...