Новые книги

C момента выхода первого издания в 1996 году книга "JavaScript: Подробное руководство" превратилась в библию программистов на JavaScript. За эти годы было издано более 500000 экземпляров, и веб-разработчики по-прежнему с восторгом отзываются о ней.

Эта книга - одновременно и руководство программиста, и полноценный справочник по базовому языку JavaScript и клиентским прикладным интерфейсам, предоставляемым веб-броузерами.
Сразу после выхода в свет эта книга заняла первые места на Amazon среди книг по маркетингу и клиентскому сервису. Формирование источника регулярной выручки для компании – важная задача каждого предпринимателя. Благодаря разнообразию разновидностей бизнес-моделей на основе подписки для каждой отрасли можно найти подходящий вариант. Подписчики в любом случае намного ценнее для компании, чем обычные покупатели.

Эта книга для всех, кто хочет построить бизнес-модель, приносящую регулярную прибыль.

На русском языке публикуется впервые.

Вопрос и Ответ 22

Вопросы и Ответы


      22. Как заполнить форму ЛЮБЫМ растровым изображением?

      Стандартные средства Windows позволяют заполнять форму только изображением размером 8х8 точек (см. "Вопрос и Ответ 19"). Для заполнения формы растровым изображением любого размера необходимо в методе Paint заполнять всю форму нужным растровым изображением вручную.

      Пример:

      ............

        ............
        public

          bmp: TBitMap; {Объект TBitMap}
          kX, kY: Integer; {Количество целых изображений по X и Y}

        end;

      ............

      procedure TForm1.FormCreate(Sender: TObject);

        begin bmp := TBitMap.Create; {Создаем объект TBitMap}
        bmp.LoadFromFile('fon.bmp'); {Загружаем в него изображение}

      end;

      ............

      {Вызывается при изменении размеров окна (и при его создании тоже)}
      procedure TForm1.FormResize(Sender: TObject);
      begin

        {Проверяем загружено или нет изображение}
        IF bmp.Handle <> 0 THEN BEGIN

          {Вычисляем какое целое число раз поместится изображение на экране по вертикали и горизонтали}
          kX := Width DIV bmp.Width;
          kY := Height DIV bmp.Height;
          Refresh; {Перерисовываем окно}

        END;

      end;

      ............

      procedure TForm1.FormPaint(Sender: TObject);
      VAR X, Y: Integer;
      begin

        {Проверяем загружено или нет изображение}
        IF bmp.Handle <> 0 THEN

          FOR X := 0 TO kX DO {Количество изображений по X плюс одно}

            FOR Y := 0 TO kY DO {Количество изображений по Y плюс одно}

              Canvas.Draw(X*bmp.Width, Y*bmp.Height, bmp); {Рисуем}

      end;

      ............

      procedure TForm1.FormDestroy(Sender: TObject);
      begin

        bmp.Free; {Удаляем объект TBitMap}

      end;

      ............


...предыдущая страница следующая...
оглавление



"Вопрос и Ответ 22"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2024 .
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.009