Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Image Controls 2.0 
:(
    Опции темы
Illusion Dolphin
Дата 7.4.2005, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Цитата

А стандартные методы? TCustomScrollingImage.Invalidate.

Когда вручную пытался принудительно перерисовать после изменения свойства фитимэйдж этот метод не делал то. что был должен.

Цитата

А свойство Zoom разве работает не так? Или я чего-то не понимаю?

Прикольно smile

но на счёт первого тут что-то или у меня не так работает или что... При увеличении зума у меня на месте картинка не остаётся. Юзаю TScrollingImage. Уходит всё почему-то в правый нижний угол о_О. Могу и прогу выложить (экзешник и кусок формы где твой компонент), но это окло метра будет.

Файлик с прогой приложил.

Это сообщение отредактировал(а) Illusion Dolphin - 7.4.2005, 22:10

Присоединённый файл ( Кол-во скачиваний: 23 )
Присоединённый файл  new.zip


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
s-mike
Дата 10.4.2005, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



Illusion Dolphin, с перемещением изображения после изменения зума глюки не мои, а у тебя в программе. Разбиратся я не стал, но если закомментировать обработчики события OnChangePos, то все нормально. То есть насколько я понял все из-за реализации механизма синхронного перемещения.
Цитата(Illusion @ 7.4.2005, 21:48)
Когда вручную пытался принудительно перерисовать после изменения свойства фитимэйдж этот метод не делал то. что был должен.

После изменения свойства FitImage изображение и так перерисовывается, так что этот пункт я до конца так и не понял. И если этот метод делал не то что нужно, то что же он делал?
PM MAIL WWW   Вверх
s-mike
Дата 10.4.2005, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



Пожалуй пришло время выложить обещанный апдейт до версии 2.1.

Цитата
  1. По свежим следам исправлен глюк с GetFitImageScale при пустом изображении.
  2. Немного усовершенствована процедура отрисовки, в частности отрисовки с прозрачностью TScrollingImage.
  3. Исправлены баги в отрисовке TFastScrollingImage и TSBScrollingImage при включенной прозрачности (мерцание фона).
  4. Устранены глюки свойства FitImage в design-time в компонентах для скроллинга.
  5. Переименованы свойства

ImageCanScrollCursor -> CanScrollCursor
ImageDragCursor -> DragImageCursor
ImageScrollDisabled -> ScrollDisabledCursor

RealImagePos -> ImageOffset
RealImageLeft -> ImageOffsetLeft
RealImageTop -> ImageOffsetTop

  6. Свойство FitImage поделено на два свойства - AutoZoomImage и AutoShrinkImage.
  7. Удален модуль MiniMath потому что Math все равно используется в модуле Forms, а значит выгоды в использовании MiniMath нет.
  8. Добавлено событие OnPaint в навигаторе и для рамки навигатора. Соответственно опубликовано свойство Canvas.
  9. Устранен глюк, при котором при увеличении размера компонента TSBScrollingImage не перерисовывалась область спрятавшегося скроллбара.
  10. ScrollButton теперь добавлено у всех наследников TCustomScrollingImage. Исправлена неправильная работа этого свойства в TFastScrollingImage и TSBScrollingImage.
  11. В TCustomScrollingImage добавлено свойство StretchMode, позволяющее выбрать качество масштабирования изображения в компоненте. Названия значений свойства аналогичны значениям констант для WinAPI-функции SetStretchBltMode.

      К сожелению на данный момент остаются еще некоторые проблемы с работой компонента в design-time.


Ссылка для скачивания: ImgCtrls.zip (157 КБ)
PM MAIL WWW   Вверх
ДЫМ
Дата 25.9.2005, 02:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: нет
Всего: 8



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


Сначала добавляем обработчик сообщения WM_SIZING.
Код

...
procedure WMSizing(var Message: TMessage); message WM_SIZING;
...


Код

procedure TNavigatorForm.WMSizing(var Message: TMessage);
begin
 // я объявил глобальную переменную, (в OnCreate формы Side:=0),
 // хотя можно обойтись и без нее, но тогда новые размеры надо вычислять через
 // указатель на LParam, так что нагляднее в FormCanResize
 Side:=Message.WParam;
end;


procedure TNavigatorForm.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
var k:Double;
begin
 // аспект
 k:=SourceWidth/SourceHeight;


 // тянули за углы или за левый/правый край, ширина гарантированно изменилась
 // пересчитываем высоту относительно ширины
 if iSide in [WMSZ_TOPLEFT,WMSZ_TOPRIGHT,WMSZ_BOTTOMRIGHT,
              WMSZ_BOTTOMLEFT,WMSZ_LEFT,WMSZ_RIGHT] then
  NewHeight:=Round(NewWidth/k)+GetSystemMetrics(SM_CYCAPTION)
 else
  // тянули за верхний/нижний край, изменилась только высота
  NewWidth:=Round((NewHeight-GetSystemMetrics(SM_CYCAPTION))*k);
end;


Это сообщение отредактировал(а) ДЫМ - 27.9.2005, 01:05
PM MAIL WWW   Вверх
s-mike
Дата 26.9.2005, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



ДЫМ, в общем согласен, что так не совсем красиво. Надо будет устранить. smile
PM MAIL WWW   Вверх
MichaelS
Дата 25.11.2005, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 25.11.2005

Репутация: нет
Всего: нет



s-mike
можно тебя попросить об одном, компонент ScrollingImageNavigator очень подходит для моей задачи, т.е. нужно фиксированным! прямоугольником выделить нужную область фотографии и эту область сохранить, но у тебя увеличивает, если я ставлю увеличение = 0, маштаб 1:1, прямоугольник не двигается, и если изменять его размеры, тоже не двигается((
переправить твой код не хватает знаний((...подскажи как быть..
PM MAIL   Вверх
s-mike
Дата 3.12.2005, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



Цитата(MichaelS @ 25.11.2005, 15:48)
s-mike
можно тебя попросить об одном, компонент ScrollingImageNavigator очень подходит для моей задачи, т.е. нужно фиксированным! прямоугольником выделить нужную область фотографии и эту область сохранить, но у тебя увеличивает, если я ставлю увеличение = 0, маштаб 1:1, прямоугольник не двигается, и если изменять его размеры, тоже не двигается((
переправить твой код не хватает знаний((...подскажи как быть..

Я планирую добавить возможность выделения в компоненте, но пока у меня мало времени для продолжения разработки компонента. Пока помочь ничем не могу.
PM MAIL WWW   Вверх
denmoroz
Дата 14.2.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 10.12.2005

Репутация: нет
Всего: нет



ЕЩЁ! Найдена бага приисовании на SBScrollingImage (на других не пробoвал)!
Она состоит в том,что линии и всё такое рисуются не там где курсор мыши, а на ~1.5-2 см вниз и всторону. smile
PM MAIL   Вверх
s-mike
Дата 15.2.2006, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 5
Всего: 16



Цитата
Она состоит в том,что линии и всё такое рисуются не там где курсор мыши, а на ~1.5-2 см вниз и всторону.

Покажи, как рисуешь.

Это сообщение отредактировал(а) s-mike - 15.2.2006, 13:45
PM MAIL WWW   Вверх
FF90h
Дата 12.10.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 1.7.2006
Где: Планета Земля

Репутация: нет
Всего: 1



 s-mike

  Не получается скачать, кинь пожалуйста другую ссылку!
PM MAIL   Вверх
Snowy
  Дата 12.10.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Поправил первый пост - прикрепил туда свежую версию Image Controls 2.1.1
PM MAIL   Вверх
Sportsmen
  Дата 3.11.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 3.11.2006
Где: Раша Родина наша- Старый Оскол

Репутация: нет
Всего: нет



А что это за библиотека? Хотел скачать и посмотреть, но...
Скажите, пожалуйста. а как скачать?! Он мне HTML страницу скачивает?
PM MAIL ICQ   Вверх
Snowy
Дата 3.11.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Image Controls 1.0 

включает три компонента для скроллинга изображений, навигатор для этих компонентов, компоненты для простого отображения изображений, но с намного меньшим мерцанием, чем TImage, а также несколько полезных процедур. Немного, но в дальнейшем я планирую пополнять библиотеку новыми компонентами и процедурами. Уже совсем скоро думаю добавить компонент для отображения эскизов (Thumbnails). 

С помощью этих компонентов намного легче сделать просмотрщик типа ACDSee или IrfanView. И не только. Благодаря им программу можно сделать более удобной, придав ее элементам управления дополнительную функциональность

Image Controls 2.0 

   1. Добавлен компонент TTexturePanel.
   2. В TCustomScrollingImage добавлено масштабирование, а также автоматическое масштабирование по размеру компонента.
   3. Изменена иерархия компонентов для скроллинга, теперь TFastScrollingImage наследуется от TScrollingImage.
   4. Наследники TCustomScrollingImage, а также компоненты TBitmapContainer и TBitmapPanel теперь имеют свойство Transparent, позволяющее делать компонент прозрачным.
   5. Добавлена возможность нестандартной отрисовки изображения в компонентах для скроллинга.
   6. Добавлено изменение курсоров для скроллинга в design-time с помощью свойств ImageCanScrollCursor, ImageDragCursor, ImageScrollDisabled.
   7. В TCustomScrollingImage добавлены свойства RealImagePos, RealImageLeft, RealImageTop, по которым можно узнать настоящие координаты изображения в компоненте, учитывая то, что оно может неполностью заполнять компонент.
   8. Добавлено в TCustomScrollingImage свойство CanScrollWithMouse, позволяющее запретить скроллинг с помощью мыши.
   9. Исправлен глюк в навигаторе при щелчке в нем правой кнопкой мыши.
  10. В модуль ImgCtrlUtils добавлена процедура LoadGraphicToBitmap и немного подправлена функция IsEmptyPicture.
  11. Добавлен модуль ImgCtrlsSkins.
  12. Устранены другие небольшие баги и ошибки.

Добавлено @ 18:20 
Подробнее - в документации
PM MAIL   Вверх
Sportsmen
Дата 3.11.2006, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 3.11.2006
Где: Раша Родина наша- Старый Оскол

Репутация: нет
Всего: нет



Скачал, посмотрел. Первое впечатление отличное, что поразило больше всего Help русский!!! А для начинающего програмиста это просто находка. Большое спасибо! smile 
PM MAIL ICQ   Вверх
Snowy
Дата 4.11.2006, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Иссесно хелп русский.
Автор ведь тоже не китаец smile

Добавлено @ 00:35 
ЗЫ. Автор компонента - автор первого поста.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.