c++ builder XE4, 10.2 Tokyo > TImage > 가져올 이미지 크기에 맞게 TImage 크기 변경

운영 환경
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2017/12/28)

관련 ぃ tp // m / 7, f9 / ms / 9, df309c5f58, c126 f
관련 ぃ tp // m / 7, f9 / ms / b 8, b6226, c14dc3

png와 jpg 이미지를 읽을 때 Stretch를 사용하면 이미지가 거칠어집니다. 이것을 회피하는 방법으로서, 원 화상의 사이즈 그대로 판독하는 방법을 조사했다.

참고 h tp : / / s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s 치온 s / 15209076 / HO W-TOGET T-Menshion S-F-Emage-Fu-in-lp

일단 TPicture형으로 읽어들여, 그 Width, Height 프로퍼티를 사용한다고 하는 방법.

Unit1.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include <pngimage.hpp>
//#include <Jpeg.hpp>
#include <memory>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    // Image1->Stretch = true;

    String filename = L"site-logo.png";

    std::unique_ptr<TPicture> pict(new TPicture);
    pict->LoadFromFile(filename);

    Image1->Width = pict->Width;
    Image1->Height = pict->Height;

    Image1->Picture->LoadFromFile(filename);
}
//---------------------------------------------------------------------------

이미지의 크기 그대로가 사용되게 되었다.

좋은 웹페이지 즐겨찾기