[Delphi] TImage

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Kandi, 12 Oct 2010.

  1. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Собственно вопрос такой: Есть TImage, в него загружена картинка, после того как программа ловит капчу, и заменяет стандартную каринку на капчу...вводим капчу, отправляем..всё нормал вроде бы, но картинка данной капчи остаётся. Можно ли вернуть стандартную картинку после того как ввели капчу и отправили её? :confused:

    Может свойство есть какое-нибудь?

    в DFM, есть волшебная Picture.Data:
    Code:
    object Image: TImage
            Left = 539
            Top = 56
            Width = 130
            Height = 50
            Picture.Data = {
              07544269746D6170C64C0000424DC64C00000000000036000000280000008200
              0000320000000100180000000000904C0000120B0000120B0000000000000000
              00008D6A0C8C6A0C8C6A0D8D6A0C8D6A0C8D6A0C8C6A0C8C6A0C8D690D8D6A0C
              8C6A0C8D690D8D690C8D6A0C8D6A0C8C6A0C8D6A0C8C6A0D8C6A0C8D6A0C8D69
              0C8C6A0C8D6A0C8C6A0C8D6A0C8D6A0C8C690C8D690D8D690C8C6A0C8D6A0C8C
              6A0C8C6A0C8D6A0C8C6A0C8D6A0C8D6A0C8C6A0C8D6A0C8C6A0D8D6A0C8D690C
              8D6A0C8C6A0C8D6A0C8D6A0D8D6A0C8C6A0C8D6A0C8C6A0C8C6A0C8C6A0D8D69
              0C8C6A0C8C6A0C8D6A0C8D6A0C8C6A0C8C6A0C8D6A0C8D6A0C8C6A0C8D690C8C
              690C8D6A0C8C6A0C8D6A0C8D6A0C8D6A0C8C6A0C8D6A0C8C6A0C8D6A0C8D6A0C
              8D690C8D6A0C8C6A0D8C6A0C8C6A0C8D6A0C8D6A0C8D6A0C8D6A0C8C6A0C8C6A
              0C8C6A0D8D6A0D8C6A0C8D6A0C8D6A0C8D690C8D690D8D690C8C6A0C8C6A0C8D
              6A0C8D6A0D8D690C8C6A0C8C6A0C8D6A0C8C6A0C8D6A0C8D6A0C8D6A0C8C6A0C
              8D6A0D8D6A0D8D6A0C8D6A0C8D6A0C8D6A0C8D6A0C8C6A0C8D690C8D6A0C8D69
              0C8D6A0C8D6A0C8D6A0C8D6A0C8C690C8D6A0D8D6A0C8C6A0D8D6A0C8D6A0D8D
              6A0C8D690C8C6A0C00008C6A0C8D6A0C8D6A0C8C6A0C8C6A0D8C6A0C8C6A0D8C
              6A0C8C6A0C8C690C8D6A0D8D690C8C6A0C8D690C8C6A0C8C6A0C8C6A0D8D6A0C
              8C6A0C8C690C8D690C8C6A0C8C690C8C6A0D8D690C8D690C8C690D8C6A0C8C6A
              0C8C6A0C8D6A0C8C690C8C690C8C6A0C8C6A0C8C690C8C6A0C8C6A0C8C6A0C8C
              690C8C690C8C6A0C8C690C8C690C8C690C8C6A0C8C6A0C8C690C8C6A0C8C6A0C
              8D6A0C8D6A0C8C690C8C690C8C690C8C690C8D6A0C8C6A0D8D6A0C8D6A0C8D69
              0C8D6A0C8C6A0C8C690D8D6A0C8D6A0C8C6A0C8C6A0C8C690C8D6A0C8C690C8C
              690C8C6A0C8C6A0C8C690C8C690C8C6A0C8D6A0C8C6A0C8C690C8C6A0C8C6A0C
              8C6A0C8D6A0C8D6A0C8C6A0C8D6A0C8C6A0C8C690C8D6A0C8C6A0C8C690C8C6A
              0C8D6A0C8C690C8D6A0D8D690D8C690C8C690D8D6A0C8D6A0D8C690C8D6A0C8C
              6A0C8D6A0C8D6A0C8C6A0C8C6A0C8C6A0C8C6A0C8C690C8C6A0C8C6A0C8C6A0D
              8D690D8C690D8D6A0C8D6A0C8C690C8D690C8D6A0C8C6A0C8D6A0C8C6A0C8C6A
              0C8D6A0C8C6A0C8C6A0C8C6A0C8C690C00008C690C8C690C8C690C8C690C8C69
              0C8C6A0B8B6A0C8B680C8A670C89670C88660C88670C87660C87650C87650C87
              650C87650C87650C87660C87660C87650C87650C87650C88670C88670C89670C
              89670C8A680C8B690C8C690C8C690C8C6A0C8C690C8C690C8C6A0C8C6A0C8C6A
              0C8C6A0C8C690C8C690C8C690C8C690C8C6A0C8C690C8C690C8C6A0C8C6A0C8C
              690C8C690C8C690C8C6A0C8C690C8C690C8C690C8C690C8C690C8C690C8C690C
              8C690C8B690C8C6A0C8C690C8B6A0C8C690C8C690C8C690C8C690C8C690C8C69
              0C8C6A0C8C690C8C690C8C690C8C6A0C8C6A0C8C6A0C8C6A0C8C6A0C8C6A0C8C
              690C8C690C8C690C8C690C8C690C8C690C8C690C8C690C8C690C8C6A0C8C690C
              8C690C8C6A0C8C690C8C6A0C8C6A0C8B690C8C690C8C690C8C690C8C6A0C8C69
              0C8C690C8C690C8C6A0C8C690C8C690C8C6A0C8C690C8C690C8C6A0C8C6A0C8C
              690C8C6A0C8C690C8C6A0C8C6A0B8C690C8C690C8C690C8C6A0C8C690C8C6A0C}
          end
    
    Может как то можно вытащить отсюда? :eek:

    P.S. Большой роли не играет конечно, но хотелось бы узнать...об этом...
     
  2. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    OnFormCreate.....
    Image1.Picture.SaveToFile('captcha_test.jpg');

    ....
    После отправки капчи......

    Image1.Picture.LoadFromFile('captcha_test.jpg');
     
  3. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    ну это немного геморно! =) и мешает)
    более программного ничего нету? :(
     
  4. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    А это не программно? Ресурсы попробуй.
     
  5. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Чем же могут мешать 2 строчки кода? :eek:
    И всмысле программного? Что ты подразумеваешь под программным?
     
  6. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Что за ресурсы? может я че то не так понял?

    а через TImageList реализовать такое не возможно?
    может вообще другой какой нить компонент!?


    Без всяких сохранений и удалений файлов .... Просто в коде программы! может быть загнать под какой нить HEX картинку как константу в программе, а том от туда её доставать, вот что я имел ввиду....
     
  7. AGIMgal

    AGIMgal New Member

    Joined:
    9 Jun 2010
    Messages:
    66
    Likes Received:
    0
    Reputations:
    0
    полюбому можно чтото предумать. сделай обьек наследник и пропиши ему новый метод, как не знаю, можно так
     
  8. patcher

    patcher Banned

    Joined:
    15 Dec 2009
    Messages:
    190
    Likes Received:
    37
    Reputations:
    10
    ТС, как я понял тебя смущает то, что картинку нужно куда-то сохранять? Если да, то это легко исправимо. Создай файл ресурсов с нужной картинкой и прикрепи к проекту. Далее в нужное тебе время подгружай ее оттуда. Можешь для этого воспользоватся вот такой процедурой (накидал по-быстрому, работает только с JPEG):
    Code:
    uses ..., Jpeg;
    ......................
    procedure GetJpegFromRes(var Image:TImage; resname, restype:string);
    var res:TResourceStream; jpeg:TJpegImage;
    begin
    jpeg:=TJpegImage.Create;
    res:=TResourceStream.Create(0, pchar(resname), pchar(restype));
    jpeg.LoadFromStream(res);
    res.Free;
    Image.Picture.Assign(jpeg);
    jpeg.Free;
    end;
    
    пример использования:
    Code:
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    GetJpegFromRes(Image1, 'IMG', 'IMG');
    end;
    
     
  9. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Благодарю, попробую :)
     
  10. miako

    miako Member

    Joined:
    20 Jan 2010
    Messages:
    154
    Likes Received:
    13
    Reputations:
    5
    Я думаю, что ImageList будет проще.