GSI

UI Image 객체의 Width를 코드상에서 줄이는 방버은 아래와 같습니다.


using UnityEngine.UI;

네임 스페이스 지정합니다.


public Image ScoreBar;

객체를 연결하기 위해서 선언을 합니다.

에디터 상에서 Image 객체를 연결합니다.


ScoreBar.rectTransform.sizeDelta = new Vector2 (120, 14);


이렇게 하면 Width의 값이 120으로 Height의 값이 14로 변경됩니다.


--이상--

Posted by gsi
:


구글이라던지 이곳저곳 찾아 보면 상당히 많은 예제가 나오는거 같다.
GsiClip을 제작중에 DB에 이미지를 데이터로 추가 해야 하는 부분에
단위 테스트에 사용한 소스 코드임. (테스트 수행)

        private void button1_Click(object sender, EventArgs e)
        {
            // 이미지를 DB로 저장한다.
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                ImageSave(openFileDialog1.FileName);

                MessageBox.Show("저장완료");
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            // 이미지를 DB에서 로드한다.
            dsImageTableAdapters.Test1TableAdapter adapter =
                new ImageSaveDB.dsImageTableAdapters.Test1TableAdapter();
            dsImage.Test1DataTable table =
                new dsImage.Test1DataTable();

            adapter.Fill(table);

            if (table.Count > 0)
            {
                pictureBox1.Image = byteArrayToImage(table[0].Content2);
            }
        }

        public Image byteArrayToImage(byte[] byteArrayIn)
        {
            MemoryStream ms = new MemoryStream(byteArrayIn);
            Image returnImage = Image.FromStream(ms);
            return returnImage;
        }

        byte[] ReadFile(string sPath)
        {
            byte[] data = null;

            //
            FileInfo fInfo = new FileInfo(sPath);
            long numBytes = fInfo.Length;
            //
            FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
            //
            BinaryReader br = new BinaryReader(fStream);
            //
            data = br.ReadBytes((int)numBytes);

            return data;
        }

        private void ImageSave(string filename)
        {
            byte[] imageData = ReadFile(filename);

            //
            dsImageTableAdapters.Test1TableAdapter adapter =
                new ImageSaveDB.dsImageTableAdapters.Test1TableAdapter();

            adapter.Insert(imageData);
        }

Posted by gsi
:

사용자 삽입 이미지

해당 이미지의 특정 칼라의 외곽픽셀을 선별해서 최대, 최소 사각형을 구하는 프로그램을
구성중에 있습니다.
아무래도 이것을 사용할 수 있는 용도가 어떤게 있을지는 모르지만.

개선해야될 부분도 많으며, 가운데가 비어 있는 이미지의 경우 오류가 조금 나기도 한다.

앞으로 테스트로 몇가지 더 해볼만한 프로그램이 될듯..

소스코드 :



혹 필요하신분은 받아 가세요 ^^..
Posted by gsi
:

웹의 경로에 위치한 이미지를 가져오는 모듈입니다.
원래 이미지 사이즈를 구하기 위해서 사용했던건데요.
파일 다운로드 쪽으로 활용해도 가능성이 있을듯 하네요.

try
{
    byte[] data = new System.Net.WebClient().DownloadData(url);
    System.IO.MemoryStream ms = new System.IO.MemoryStream(data);
    Image img = Image.FromStream(ms);

    Size size = new Size(img.Width, img.Height);
    return size;
}
catch(Exception ex)
{
    return new Size(-1, -1);
}

msdn 주소 : http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=637975&SiteId=1
키워드 : Image Url

Posted by gsi
:

WPF 이미지 표시하기

WPF 2007. 10. 5. 09:44 |

WPF 에서 이미지 표시하기

BitmapImage 는 XAML 로딩을 위해 최적화된 특수한 BitmapSource 이고 Image 컨트롤의  Source로 이미지를 표시하기 쉬운 방법입니다.

이미지 컨트롤 사용하기
Image는 프레임워크 엘리먼트이고 애플리케이션에서 이미지를 표시하는 주된 수단입니다. XAML 에서 Image는 어트리뷰트 문법 또는 프로퍼티 문법의 두 가지 방법으로 사용될 수 있습니다. 다음 예제는 어트리뷰트 문법과 프로퍼티 태그 문법을 모두 사용하여 이미지를 200 픽셀 너비로 그리는 바업ㅂ을 보여줍니다. 어트리뷰트 문법과 프로퍼티 문법의 더 자세한 정보는 Dependency Properties Overview를 참고 하십시오.

XAML
<!-- 간단한 이미지 렌더링. 그러나 이 방법으로 렌더링 하는 것은 애플리케이션 메모리의 사용량에는 좋지 않습니다. 같은 결과를 더 적은 메모리로 생성하는 아래쪽 마크업을 참고 하십시오. -->
<Image Width = "200" Source = "c:\Temp\aaa.jpg"/>

<Image Width = "200">
   <Image.Source>
      <!-- 상당한 애플리케이션 메모리를 아끼기 위해 이미지 소스의 BitmapImage의 DecodePixelWidth나 DecodePixelHeight 값을 원하는 높이와 너비로 설정하십시오. 그렇게 하지 않으면 애플리케이션은 이미지를 화면에 표시될 크기가 아닌 그것의 보통 크기로 렌더링 될 것이라고 생각하고 캐슁될 것입니다.-->
      <BitmapImage DecodePixelWidth = "200" UriSource = "c:\test\aaa.jpg"/>
   </Image.Source>
</Image>

다음 예제는 코드를 사용하여 이미지를 200 픽셀 너비로 그리는 방법을 보여줍니다.

노트 :
BitmapImage는 다중 속성에서 초기화 최적화를 위해 ISupportInitilize 인터페이스를 구현합니다. 속성 변경은 오직 객체 초기화 중에만 발생할 수 있습니다. 초기화가 시작되었음을 알리는 신호로 BeginInit을 호출하고 초기화가 완료되었음을 알리는 신호로 EndInit을 호출합니다. 일단 초기화 되면 속성 변경은 무시됩니다.

C#
// 이미지 엘리먼트 생성
Image myImage = new Image();
myImage.Width = 200;

//소스 생성
BitmapImage myBitmapImage = new BitmapImage();

// BitmapImage.UriSource는 반드시 BeginInit/EndInit 블럭 내에 있어야 합니다.
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"c:\test\aaa.jpg");
myBitmapImage.DecodePixelWidth = 200;
myBitmapImage.EndInit();

//이미지 소스 설정
myImage.Source = myBitmapImage;

Posted by gsi
: