Вверх ↑
Этот топик читают: Гость
Ответов: 574
Рейтинг: 1
#1: 2007-06-25 21:00:39 ЛС | профиль | цитата
Делаю программу в фотолабораторию. В ней пользователю выводится по 9 фото на странице, и он выбирает из них нужные. И так, пока не пересмотрит все фото. Но одна фотография слишком долго открывается, не говоря уже о 9. Можно ли как-то увеличить скорость открытия картинок? Их размер в программе всего 140х100 и чумовое качество там абсолютно не нужно!

Ребята, если кто может, перепишите нужные компоненты или создайте, пожалуйста, новый!

nesco, можешь мне помочь?

Кстати, как-то обсуждали с Дилмой компонент-матрицу картинок. Говорил, что, может, появится в будущем. А может уже сейчас написать его? Принцип прост (не с программисткой точки зрения, конечно). Мы указываем число строк и столбцов компоненту, указываем размер каждой ячейки и загружаем в эти ячейки картинки. Здесь, конечно, нужно будет сделать организацию доступа к ячейкам, подобную работе с Таблицей Строк через массив-матрицу.

Заранее спасибо!
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#2: 2007-06-25 21:13:26 ЛС | профиль | цитата
Yuriy писал(а):
можешь мне помочь

Могу. Но лучше, если ты кинешь сначала то, что ты сделал. А потом будем проводить разбор полетов.
Yuriy писал(а):
Кстати, как-то обсуждали с Дилмой компонент-матрицу картинок

Хм... Вообще-то я обсуждал IconArray, но матрица -- это интересно. В принципе, можно попытаться создать. Но массив же уже сейчас есть. Тебя интересует Bmp или Ico?
карма: 22

0
Ответов: 3655
Рейтинг: 69
#3: 2007-06-25 22:14:25 ЛС | профиль | цитата
nesco писал(а):
Тебя интересует Bmp или Ico?

А мне JPEG
карма: 0

0
Ответов: 574
Рейтинг: 1
#4: 2007-06-25 22:20:38 ЛС | профиль | цитата
nesco писал(а):
Могу.


Спасибо!

nesco писал(а):
Но лучше, если ты кинешь сначала то, что ты сделал.


Ничего, кроме дизайна, не сделано. Компонент будет выглядеть точно также, как просмотр картинок в режиме "Эскизы страниц" Windows. Я вот дошёл до реализации вывода картинок и всё... Тут программа стала. Нет смысла дальше с такой скоростью работать.

nesco писал(а):
Тебя интересует Bmp или Ico?


Так как это - фотолаборатория, то без JPEG не обойтись...

А ещё компонент будет похож на стандартную таблицу строк из HiAsm, только вместо текста внутри картинки, но меньшего размера и, что самое главное, качества для более быстрой работы.

Знаешь, чего бы хотелось ещё? Это уже наглость с моей стороны, но я не настаиваю. Если можно, сделай, чтобы можно было ставить своё расстояние по четыре стороны от каждой ячейки матрица. Всё как в Windows! И ещё, если можно, чтобы свою границу сделать. Ну, например, я в компонент изначально помещаю картинку с красивой границей. Внутри белое пространство - там и будет прорисовываться картинка. Типа, прозрачность.

БОЛЬШОЕ СПАСИБО ЗА ОТКЛИК!
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#5: 2007-06-25 22:32:46 ЛС | профиль | цитата
Вячеслав, прицепишь к матрице компонент jpeg и будешь загружать в матрицу декомпрессированный jpeg, и обратно компрессировать в jpeg из матрицы.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#6: 2007-06-26 01:01:29 ЛС | профиль | цитата
nesco писал(а):
прицепишь к матрице компонент jpeg и будешь загружать в матрицу декомпрессированный jpeg, и обратно компрессировать в jpeg из матрицы.

Дык я думал там и хранить можно.
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#7: 2007-06-26 02:08:22 ЛС | профиль | цитата
Вячеслав, а у нас в системе, разве, jpeg потоком ходит?
Yuriy писал(а):
Если можно, сделай, чтобы можно было ставить своё расстояние по четыре стороны от каждой ячейки матрица
Не надо путать хранилище (то бишь матрицу -- двумерный массив) с контролом отображения -- это разные вещи. Так что тебе сначала надо, чтобы отображалось девять картинок размером 140х100 с приемлемой скоростью, так что ли? А формат поля отображения какой? Попробовать надо на стандартных контролах отображения, вот если не получится...
С такими запросами этот пакет еще долго не умрет
карма: 22

0
Ответов: 1891
Рейтинг: 110
#8: 2007-06-26 02:24:32 ЛС | профиль | цитата
Самый простой вариант - сделать через WebBrowser
карма: 0
%time%
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#9: 2007-06-26 14:13:26 ЛС | профиль | цитата
777, Мдяяя... Ты на его быстродействие смотрел, оставляет желать лучшего. Обработка таких изображений должна быть, практически, мгновенна. Про что я уже Dilme писал, про то, что отрисовка должна вестись на контексте памяти с последующим переносом на контекст устройства уже готового изображения.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#10: 2007-06-26 14:27:28 ЛС | профиль | цитата
скорость работы зависит от всего процесса открития и отрисовки картинки. Поскольку примера дано не было возьму за основу пример от 777. Там каждая картинка грузится в память в PictureStream, затем полностью дублируется в Image и там сжимаясь до нужных размеров отрисовывается. А нужно делать иначе - грузить в память, затем пережимать элементом resize и отрисовывать на PaintBox элементом Img_Bmp.
Реальные же программы обачно в отдельном потоке кешируют несколько картинок вперед, которые по их мнению просмотрит пользователь.
карма: 27
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#11: 2007-06-26 14:30:04 ЛС | профиль | цитата
Dilma писал(а):
Реальные же программы обачно в отдельном потоке кешируют несколько картинок вперед, которые по их мнению просмотрит пользователь

Интересная мысль.
карма: 22

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#12: 2007-06-26 14:41:36 ЛС | профиль | цитата
777, это не я писал, а Dilma
777 писал(а):
(или просто не обратил внимания?)...

В интерфейсах он.
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2007-06-26 15:05:42 ЛС | профиль | цитата
777 писал(а):
Но я нажал "цитата", почему-то автоматически так сделалось...

если нажимать "цитата" на кнопках других сообщений(а не того, из которого цитируется) то в качестве автора и будет вставлятся не то имя, которое надо.
карма: 27
0
Ответов: 3851
Рейтинг: 159
#14: 2007-06-26 15:12:56 ЛС | профиль | цитата
777, так ты у нас злостный хакер?
карма: 0
начавший
0
Ответов: 574
Рейтинг: 1
#15: 2007-06-26 15:38:02 ЛС | профиль | цитата
777 писал(а):
Пример выложен, чтобы составить хоть како-ето представление в схеме о том, что всё-таки нужно.


Прилагаю скриншот общего вида программы. Решил сделать 6 картинок, вместо 9. Просто кое-какие элементы не влазиют тогда. Какие - видно на скрине. Размер картинки - 100%, как и будет на экране монитора. Сразу признаюсь, что дизайн "украл" у Windows Media Center из MS Windows Vista.

nesco писал(а):
А формат поля отображения какой?


Не понял вопрос...

nesco, сейчас для меня главное - просто сделать новый режим вывода картинок, скажем, для компонента Image. Можно засунуть в свойство "ViewStyle" и назвать "Turbo". Не важно, короче. Главное, чтобы быстрее прорисовка была.

А матрица - это уже несколько отдельный компонент. С помощью него я, например, делал игру Zeek. На сайте у меня в программах можете взглянуть. Правда, делал с помощью Multimedia Builder.

А если делать матрицу картинок для моего примера, то придётся хотя бы сделать ту возможность, которую я просил выше, а именно задание своей рамки, а внутри - отрисовка картинки. Для моего примера такой подход удачен.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)