Вопрос № 72814: Здраствуйте!
Первый вопрос:
есть чёрнобелое jpg изображение, возиожно ли програмно уменьшить его разрешение?Если возможно то как это сделать?
Второй вопрос:
как из TDBEdit перекинуть текст(запись БД) в RichEdit или в подобный ком...Вопрос № 72858: Здравствуйте уважаемые эксперты!У меня на форме два StringGrid1 и StringGrid2. StringGrid1 должен заполняться вручную в ходе выполнения приложения,я не знаю заранее количество строк в StringGrid1(у него есть только заголовки столбцов),заполняя первый...Вопрос № 72876: Здравствуйте ! хочу научится програмировать. Незнаю ничего ни одного
языка не изучал а самоучитель нигде скачать не могу такой чтоб понятно было? ...
Вопрос № 72.814
Здраствуйте!
Первый вопрос:
есть чёрнобелое jpg изображение, возиожно ли програмно уменьшить его разрешение?Если возможно то как это сделать?
Второй вопрос:
как из TDBEdit перекинуть текст(запись БД) в RichEdit или в подобный компонент, но у которого есть возможность выводить на печать?
Отправлен: 27.01.2007, 07:39
Вопрос задал: KuchumHan (статус: Студент)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Leshka
Здравствуйте, KuchumHan!
Просто получить данные из TDBEdit можно так
dbedit1.Field.AsString
В это случае мы получим только то значение, что отображается в данный момент в TDBEditе
Если полей несколько, то гораздо удобней обратиться к Query или Table (смотря что используется) и получить все поля записи например так
var fc,i: integer;
begin
memo1.Lines.Add(dbedit1.Field.AsString);
fc := dbedit1.DataSource.DataSet.FieldCount;
for i:=1 to fc do begin
// можно обратиться прямо к ADOQuery1
Memo1.Lines.Add('Name '+ADOQuery1.Fields.FieldByNumber(i).FieldName);
// или так - bedit1.DataSource.DataSet
Memo1.Lines.Add(' '+dbedit1.DataSource.DataSet.Fields.FieldByNumber(i).AsString);
end;
end;
или через свойство Query FieldByName
Ответ отправил: Leshka (статус: 1-ый класс)
Ответ отправлен: 27.01.2007, 11:48 Оценка за ответ: 4 Комментарий оценки: В принципе я уже решил проблему procedure TForm1.Button3Click(Sender: TObject); begin RichEdit1.Lines.Add(DbEdit1.Text+' '+DbEdit2.Text); - это чтобы из разных полей записи одна за другой следовали(например: Петя Сидоров). Про ADOQuery никто неспрашивал. У Вас конкретно TDBEdit и RichEdit.Т.е. кто, что использует для работы с базой данных в этом
вопросе не имеет значение. А вот как на печатать выводится: procedure TForm1.SpeedButton1Click(Sender: TObject); begin if PrintDialog1.Execute then form1.RichEdit1.Print(Text); end;
А на первый вопрос Вы вообще не ответили. За подробный ответ на второй вопрос спасибо - пригодится.На первый раз прошаю, как начинающему.
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, KuchumHan!
Для уменьшения и увеличения разрешения надо использовать CopyRect с разными разными размерами источника и приемника информации. Поскольку TJpegImage не имеет канвы, то надо будет использовать промежуточные TBitMap буферы.
Однако, CopyRect использует самую примитивную интерполяцяю - ближайший сосед. Если вам нужно что-дь получше, можете поискать алгоритмы в интернете:
билинейная интерполяция алогритм реализация
бикубичская интерполяция алогритм реализация
В приложении пример, как конвертировать из TBitmap в TJpegImage. В обратную сторону делается по аналогии.
Приложение:
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 28.01.2007, 00:24 Оценка за ответ: 4 Комментарий оценки: Всё это очень замечательно, но нет ли у Вас исходника программы которая именно меняет разрешение, а не переконвертирует файл из одного формата в другой? С конвертацией всё ясно, а вот получение изображения, которое должно скачаться на смартфон быстро и более менее качественно - с этим трудности. P.S.Лучше бы пример с CopyRect привели бы(не в упрёк, а как
прошение воспримите это).
Вопрос № 72.858
Здравствуйте уважаемые эксперты!У меня на форме два StringGrid1 и StringGrid2. StringGrid1 должен заполняться вручную в ходе выполнения приложения,я не знаю заранее количество строк в StringGrid1(у него есть только заголовки столбцов),заполняя первый столбец у меня он называется "Наименования параметров",в StringGrid2 должны создаваться столбцы(количество столбцов я тоже соответственно не знаю) в заголовки которых должны вписываться имена параметров из StringGrid1.
Отправлен: 27.01.2007, 14:24
Вопрос задал: Delphi-n (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 6)
Отвечает: Volhit
Здравствуйте, Шепель Юрий Олеговичь!
Попробуйте начать с http://delphikingdom.ru/
Надеюсь меня простят за неумышленную рекламу :)
Если же вас интересует не только Delphi, попробуйте сайт, который так и называется - первые шаги :) (www.firststeps.ru)
Ответ отправил: Volhit (статус: 2-ой класс)
Ответ отправлен: 27.01.2007, 17:32 Оценка за ответ: 5
Отвечает: sir henry
Здравствуйте, Шепель Юрий Олеговичь!
Раз уж Вы написали этот вопрос в рассылку по языку Дельфи, то скачайте себе книгу "Дельфи для начинающих":
http://xsector.com1.ru/books/comp2/programming/Delphi_7.zip
Со своей стороны настоятельно рекомендую купить бумажную книгу, т.к. ее читать намного более удобно, чем электронную. Для примера можно взять книги:
Фаронов "Delphi 7. Учебный курс".
Фаронов "Delphi 7. Программирование баз данных".
Первая книга - основы программирования в Дельфи, вторая - основы программирования баз данных в Дельфи.
Кроме того, очень хорошо и понятно о Дельфи пишет автор Марк Канту.
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 27.01.2007, 18:39 Оценка за ответ: 5 Комментарий оценки: Огромное спасибо Ваш ответ очень вразумителен и понятен!