Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись картинок в файл / 19 сообщений из 19, страница 1 из 1
03.11.2003, 11:57
    #32313291
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Можно ли записать скажем 10 картинок в один файл, и чтоб они размещались одна под другой и были подписи под каждой?
...
Рейтинг: 0 / 0
03.11.2003, 12:13
    #32313328
tygra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
А что, у тебя и подписи в файлах?

-- Tygra's --
...
Рейтинг: 0 / 0
03.11.2003, 12:18
    #32313337
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Я имею в виду что в одном файле будут размещатся 10 разных рисунков и каждый подписываться: Рис.1 .... Рис.10.
Ну скажите хоть как их 10 сразу запихнуть, черт с ними с подписями.
...
Рейтинг: 0 / 0
03.11.2003, 12:41
    #32313371
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Создаешь болшоооооой TBitMap размерами Width x Height * N, где N - количество рисунков и копируешь свои рисунки на новый.
...
Рейтинг: 0 / 0
03.11.2003, 12:43
    #32313374
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Вот вот берешь Битмап копируешь туды все свои картинки ,
выводищь туды подписи и сохраняешь в файло ...
...
Рейтинг: 0 / 0
03.11.2003, 12:54
    #32313393
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Ок
Спасибо
понял
а оказалосмь такое простое решение
...
Рейтинг: 0 / 0
03.11.2003, 15:27
    #32313641
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Пробую добавить в BitMap новый рисунок и так 10 раз , а он берет последний, каждый слующий переписывает предидущий.
BitMap1.Assign(Image.Picture); -


Может есть другая команда добавления в BitMAp
...
Рейтинг: 0 / 0
03.11.2003, 16:14
    #32313749
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Assign не то, что тебе нужно
Попробуй почитать про Canvas, и его методы Draw, CopyRect и т.п.
...
Рейтинг: 0 / 0
03.11.2003, 16:42
    #32313806
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
С этим не получается
...
Рейтинг: 0 / 0
03.11.2003, 17:36
    #32313925
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Народ ну помогите
Мозги уже заворачиваются
...
Рейтинг: 0 / 0
03.11.2003, 17:39
    #32313933
Song
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Используй TImageList. Добавь все картинки, потом запиши TImageList в поток, а поток сохрани в виде файла.
...
Рейтинг: 0 / 0
03.11.2003, 17:51
    #32313968
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Использую TList
С ним можно работать??? Я про то что его добавлять
И еще вопрос, если я потоком сохраню в одинр большой рисунок, смогу ли я его потом просмотреть в Винде, а то товарищь говорит что нет...
...
Рейтинг: 0 / 0
03.11.2003, 18:01
    #32313997
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Код покажи, которым ты в TList рисунки запихиваешь.
Что за рисунки, bmp, jpg, tiff?
Куда их нужно поместить, bmp, jpg, tiff, doc, html?
...
Рейтинг: 0 / 0
03.11.2003, 19:09
    #32314075
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Это процедура выбирает данные из базы, создает програмно панели а в них рисунки:

procedure TForm1.AddPic(S: AnsiString;Sender: TObject);
Var
Pan: TPanel;
Pic : TImage;
zmPosition : Integer;
w : String;
j: Integer;
begin
w := 'Test napisi';
TRY
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select distinct idtask from ping');
ADOQuery1.Open;
for J:=1 to ADOQuery1.RecordCount do
begin
if ListC.Count = 0 then zmPosition := 295;
if ListC.Count <> 0 then zmPosition := (TPanel (ListC.Items[ListC.Count-2])).Top +
(TPanel(ListC.Items[ListC.Count-2])).Height+5;

begin
Pan := TPanel.Create(Form1);
Pan.Parent := Form1;
Pan.Top := zmPosition;
Pan.Left := 32;
Pan.Width := 360;
Pan.Height := 56;
Pan.BevelOuter := bvNone;
Pan.BorderStyle := bsSingle;
ListC.Add(Pan);
Pan.Visible := true;

Pic := TImage.Create(Pan);
Pic.Parent := Pan;
Pic.Top := 0;
Pic.Left := 0;
Pic.Height := Pan.Height;
Pic.Width := 1440;
ListC.Add(Pic);
Pic.Visible := True;
end;
end;
EXCEPT;

end;
end;

А эта пытается прочитать из листа и создать файл с рисунками:

procedure TForm1.Button10Click(Sender: TObject);
var
BitMap1, BitMap2 : TBitMap;
count : Integer;
rect : TRect;
TempStream : TMemoryStream;

begin
TempStream := TMemoryStream.Create;
BitMap1 := TBitMap.Create;
BitMap2 := TBitMap.Create;
BitMap1.Width := 3000;
BitMap1.Height := 500;
BitMap2.Width := 3000;
BitMap2.Height := 500;

i := 1;
begin
while i < ListC.Count do
begin
Mal := ListC.Items[3];
BitMap1.Assign(Mal.Picture);
BitMap1.SaveToStream(TempStream);
i := i + 2;
end;
TempStream.Position := 0;
BitMap2.LoadFromStream(TempStream);
end;

with SavePictureDialog1 do
begin
FileName := Caption;
if Execute then
begin
try

BitMap2.SaveToFile(FileName);
Caption := LowerCase(FileName);
finally

BitMap1.Free;
BitMap2.Free;
end;

end;
end;
end;

Рисунки я сам создаю, рисую линии
А формат неважен, но лучше если JPEG.
...
Рейтинг: 0 / 0
03.11.2003, 19:21
    #32314085
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Забыл добавить
Процедура сохраняет в файле, но только один рисунок (первый) а остальные не берет
...
Рейтинг: 0 / 0
03.11.2003, 19:37
    #32314097
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Что-то вроде этого должно быть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
  
  CurrentY:=  0 ; // var CurrentY: integer;
  for i= 0  to ListC.Count -  1  do
  begin
    Mal := ListC.Items[i];
    BitMap1.Assign(Mal.Picture);
    BitMap2.Canvas.Draw( 0 , CurrentY, BitMap1);
    Inc(CurrentY, BitMap1.Height);
  end;
...
Рейтинг: 0 / 0
04.11.2003, 16:02
    #32314992
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Ну низнаю, или я глючю, или чето не понял
Все вроде сделал как ты говорил, а файл нулевой, туда ничегошеьк=и не помещает.
Хотя по коду все вроде нормально
Помогите найти ошибку.

procedure TForm1.Button10Click(Sender: TObject);
var
BitMap1, BitMap2 : TBitMap;
count : Integer;
rect : TRect;
TempStream : TMemoryStream;
CurrentY: integer;

begin
TempStream := TMemoryStream.Create;
BitMap1 := TBitMap.Create;
BitMap2 := TBitMap.Create;
BitMap1.Width := 3000;
BitMap1.Height := 5000;
BitMap2.Width := 3000;
BitMap2.Height := 5000;
CurrentY:= 0;
i := 1;
begin
while i < ListC.Count do
begin
Mal := ListC.Items[1];
BitMap1.Assign(Mal.Picture);
BitMap2.Canvas.Draw(0, CurrentY, BitMap1);
Inc(CurrentY, BitMap1.Height);
i := i + 2;
end;
end;

with SavePictureDialog1 do
begin
FileName := Caption;
if Execute then
begin
try

BitMap2.SaveToFile(FileName);
Caption := LowerCase(FileName);
finally
BitMap1.Free;
BitMap2.Free;
end;
end;
end;
end;
...
Рейтинг: 0 / 0
04.11.2003, 17:07
    #32315129
Vova310574
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Уже создает файл, но в него вставляет только один рисунок, а не несколько как планировалось
...
Рейтинг: 0 / 0
04.11.2003, 18:03
    #32315236
oleg_e
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись картинок в файл
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
i :=  1 ; 
begin 
while i < ListC.Count do 
begin 
Mal := ListC.Items[ 1 ]; 
BitMap1.Assign(Mal.Picture); 
BitMap2.Canvas.Draw( 0 , CurrentY, BitMap1); 
Inc(CurrentY, BitMap1.Height); 
i := i +  2 ; 
end; 
end; 


Код: plaintext
1.
2.
 1 . Почему цикл начинается с  1 , а не с  0 ?
 2 . Почему i := i +  2 , а не i := i +  1 ?
 3 . (главное) Почему Mal := ListC.Items[ 1 ], а не Mal := ListC.Items[i];
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Запись картинок в файл / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]