Показать полную графическую версию : Размер изображения
Здравствуйте.
Уважаемые пользователи,помогите пожалуйста изменить размер изображения средствами "C++".
{Программу пишу на "C++Builder 2010"}
Нужно загрузить изображение в "Image" и изменить его размер на то что написано в "Edit1 и Edit2".
Изображения формата "Png,Jpg".
За ранее спасибо.
Любезный
28-11-2010, 20:28
В чём проблема?
В инспекторе объектов установи свойство Stretched компонента TImage в true. Затем грузи туда картинку и просто программно меняй ему ширину и высоту (свойства Height и Width).
Проблема в том что изображение мне нужно изменить не только в программе.
Нужно сохранить его с указанными размерами.
Любезный
28-11-2010, 22:00
Это несколько сложнее.
Вот ссылка на похожий вопрос по Delphi. Имена компонентов и их свойства там те же, что и в Билдере - просто переведите код на С++.
http://www.delphikingdom.com/asp/answer.asp?IDAnswer=56375
Спасибо конечно. Но там сохранение формата "Jpg" а так же работа с ним.
В моём случае формат изображения может быть и "Png" - Конечно пример хороший.
Использую его в "Delphi" - Но мне нужен пример в "C++" ибо переписать его сам я не могу.
Я учил "Delphi" а не C++
{Подожду тех кто поможет мне с этим.
На сколько знаю я,программистов на "C++" тут сидит много.}
Не все одинаково в "C++" and "Delphi".
With Image1.Picture do (With Image1->Picture do) - В C++ это пишется по другому.
With - Данное слово не распознает и C++ ругается на него.
Ну а в целом я сам смог перевести. (Некоторые участи кода к сожалению перевести мне не под силу).
Я и Delphi то не очень знаю.
Любезный
29-11-2010, 20:13
Я не понимаю, зачем писать на билдере, не зная язык. Вот я С++ почти не понимаю, потому и работаю с Delphi.
Не знаю, можно ли перевести на С++ with - вместо этого достаточно просто подставить в несколько мест Image1->Picture. Конструкция with в языке Delphi употребляется для упрощения кода - чтоб было меньше букаф. Для пояснения вот два фрагмента кода, которые делают одно и то же:
Image1.Picture.Clear;
Image1.Picture.LoadFromFile (fname);
with Image1.Picture
do begin
Clear;
LoadFromFile (Fname);
end;
Прошу прощения - никак не научусь обрамлять код в тэги.
По вашей логике получается так:
Я не понимаю зачем учить любой язык программирования если вы его не знаете.
{Ваша логика говорит о том что не нужно учить "C++"}
Почему C++ а не Delphi - ?
Вот лично вам не когда не было интересно познать любой другой язык программирования?
Мне,интересно. Все сразу не выучить за то буду знать что и как устроенно.
Я пишу программу которую могу написать без чей либо помощи на Delphi.
{Если точней то она уже написана.}
Теперь я хочу написать тоже самое только лучше,больше функций.. Но уже на C++.
Нужно с чего то начинать,по этому и попросил помощи.
{Ползал в сети,читал статьи - Многие говорят что у C++ больше возможности.}
То что я хочу или учу,это касается только меня.
Хочу писать на C++ буду писать на C++.
Я же не заставляю вас переходить на C++..
Спасибо конечно за помощь.
Любезный
29-11-2010, 21:54
Прошу прощения, я слегка погорячился. Вы сначала написали, что пишете, а не изучаете. Поэтому я так и отреагировал.
Многие говорят что у C++ больше возможности.
Не хочу превращать тему во флейм, ибо это уже много раз обсасывалось на самых разных форумах. Почему я дал ссылку на Delphi - потому что Delphi и C++ Builder являются родственными и по сути дела используют одну и ту же библиотеку визуальных компонентов, поэтому человеку, знающему основы С++, не составит никакого труда прочитать и понять код Delphi и преобразовать в код Билдера. Если бы Вы писали на Microsoft Visual C++ - там всё совершенно по-другому - другие библиотеки со своими компонентами и свойствами.
Знаю что по другому по этому и выбрал "C++Builder"
Давайте больше не будем Off`топить. :)
Не кто не может помочь? Не ужели придется писать все на Delphi.
{Вот именно эти споры я и читал. Для меня обе среды разработки идеальны - По этому я и пытаюсь понять как работает C++ и в то же время учу.}
El Scorpio
30-11-2010, 08:46
Не знаю, можно ли перевести на С++ with - вместо этого достаточно просто подставить в несколько мест Image1->Picture. Конструкция with в языке Delphi употребляется для упрощения кода - чтоб было меньше букаф. Для пояснения вот два фрагмента кода, которые делают одно и то же: »
Если в исходном коде Delphi под with спрятана длинная цепочка идентификаторов, то при переводе на C++ можно прямо в коде объявить указатель на подразумеваемый объект.
Например
with TMemo1.Strings do
что-то-там1;
что-то-там2;
что-то-там3;
что-то-там4;
end;
можно заменить на
TStrings *Obj = TMemo1->Strings;
Obj->что-то-там1;
Obj->что-то-там2;
Obj->что-то-там3;
Obj->что-то-там4;
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.