Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2015, 15:18   #21
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Ну и почему бы тут и не TImage?
Ты сам-то попробуй, что с этой спиралью, однажды нарисованной,
stretchdraw() сотворит. И потом скажи, что лучше - рисовать или масштабировать статич. изображение.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.07.2015, 15:27   #22
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

А с картинкой из файла/ресурсов не сотворит то же самое?))
Вопрос темы "масштабировать содержимое TImage". Я сказал ещё во втором посте "Смотря что именно нужно" - всё зависит от целей. И описал варианты. В том числе векторное рисование.
ResourceSpace вне форума Ответить с цитированием
Старый 15.07.2015, 15:42   #23
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
А с картинкой из файла/ресурсов не сотворит то же самое?))
Конечно. Поэтому нефиг масштабировать статический контент (или масштабировать, но, хотя б, пропорционально). А рисовать можно в любом случае.
Я ж понимаю, почему чайники юзают TImage - потому что нарисованное на нём не затирается при апдейте. Лет 20 назад я сам такой шляпой в школе заразился. Пришлось лечить (алкоголем, травой и девками). Теперь юзаю TImage исключительно для хранения одиночной картинки в DFM и показе её в рантайме.

А ты и автор - пишите, як хотите.
Я кончил и закурил.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.07.2015, 16:08   #24
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

В каждом отдельном случае необходимо исходить из того что рисуется, как долго рисуется и как часто меняется. Сделайте такое же без TImage?:

Код:
Procedure TForm1.FormCreate(Sender: TObject);
Var x, y, k: Integer; P: PRGBTriple;
Begin
Image1.BoundsRect:=Screen.DesktopRect;
Image1.Canvas.FillRect(Image1.Canvas.ClipRect);
Image1.Picture.Bitmap.PixelFormat:=pf24bit;
k:=GetTickCount Mod 900;
For y:=0 To Image1.Picture.Bitmap.Height-1 Do
      Begin
      P:=Image1.Picture.Bitmap.ScanLine[y];
      For x:=0 To Image1.Picture.Bitmap.Width-1 Do
            Begin
            P.rgbtRed:=Round(x+y+k);
            P.rgbtGreen:=Round(x+y);
            P.rgbtBlue:=Round(x*k-y);
            Inc(P);
            End;
      End;
End;
А даже если только про векторные объекты - вот есть десять миллионов линий/окружностей/прочее. Но меняются они только OnResize окна. Вы правда будете всё заново рисовать каждый OnPaint?
ResourceSpace вне форума Ответить с цитированием
Старый 15.07.2015, 16:24   #25
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сделайте такое же без TImage?
А какова цель этого куска кода?
Цитата:
А даже если только про векторные объекты - вот есть десять миллионов линий/окружностей/прочее. Но меняются они только OnResize окна. Вы правда будете всё заново рисовать каждый OnPaint?
Попробую пару раз, а потом пойду и плюну в рожу тому, кто придумал мне такое задание. Откуда могут взяться 10М объектов на практике-то?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.07.2015, 16:31   #26
Kiten
Пользователь
 
Аватар для Kiten
 
Регистрация: 31.07.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Kiten, а давайте вы сами все свои ссылки почистите, а то очень на спам похоже. Кнопочка правка. За спам у нас бан бегом можно получить
Я все убрал. Это было для интересующихся. Точнее задающих каверзные вопросы. Мне это не нужно
Серьезное лицо - это еще не признак ума

Последний раз редактировалось Kiten; 15.07.2015 в 16:38.
Kiten вне форума Ответить с цитированием
Старый 15.07.2015, 17:07   #27
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сделайте такое же без TImage?
Не знаю, чо за код, скопипасти просто вслепую в отрисовку. Получилось что-то типа этого:
Изображения
Тип файла: png 280520.png (7.5 Кб, 32 просмотров)
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.07.2015, 19:04   #28
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Исходник.
Дополненный.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать так, чтобы при наведении мышкой на объект, который находится под другим, этот объект выходил на первый план? Zaza7 HTML и CSS 3 17.01.2013 10:23
как сделать что бы объект не выходил за пределы формы artem_degtev Помощь студентам 3 18.12.2011 00:11
С++ Builder. БД как объект pasha_hoy C++ Builder 0 17.01.2011 09:15
Компонент как 3D объект AsmodElial Мультимедиа в Delphi 1 19.09.2009 12:12
Народ,помогите пожалуйста.Объект и иерархию не могу сделать KirILLA90 Помощь студентам 1 18.12.2008 20:09