2010-12-08 3 views
0

이미 이런 짓을 :누구나 WPF를 사용하여 이미지를 추가하는 방법을 설명 할 수 있습니까?

 

var uriSource = new Uri(@"/WpfApplication1;component/Untitled.png", UriKind.Relative); 
image1.Source = new BitmapImage(uriSource); 
 

내 네임 스페이스 WpfApplication1 내 이미지는 프로젝트의 기본 폴더에 있습니다입니다. 여전히 작동하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 이미 리소스로 설정되어 있습니다.Height = 'image.Source.Height'가 'System.IO.DirectoryNotFoundException'유형의 예외를 던졌습니다. Metadata = '(image.Source) .Metadata'가 'System'유형의 예외를 Throw했습니다. .NotSupportedException '

+0

실버 라이트 응용 프로그램의 이미지라면 네임 스페이스를 제거하려고 할 수 있습니다. – ASpirin

+0

무슨 ASpririn ?? – Seva

+0

image1에 대한 XAML을 게시 할 수 있습니까? 받고있는 오류 메시지와 게시 한 코드가 일치하지 않는 것 같습니다. 문제는 XAML에있을 수 있습니다. – Stewbob

답변

0

젠장, 실버 라이트처럼 간단합니다. 그러나 png 파일을 지원하지 않습니다. 이렇게 내가 어떻게 일했는지. 그냥 JPG 이미지로 변경 :

 

Image image = new Image(); 
image.Width = 50; 
image.Height = 50; 
image.Source = new BitmapImage(new Uri("/soccer.jpg", UriKind.Relative)); 

mainCanvas.Children.Add(image); 
 
+0

PNG 파일을로드 할 수 있습니까? – VVS

+0

WPF는 png 파일을 완벽하게 지원합니다. 알파 채널 기능 때문에 응용 프로그램에서 png 파일 만 사용합니다. WPF는 이러한 파일에 아무런 문제가 없습니다. – Stewbob

+0

젠장, 내 사과하러 내려 가지마. 난 그냥 PNG로 테스트하고, JPG. 이 경우에는 jpg에서만 작동합니다! 이 코드에서만 png가 지원되지 않습니다. – Seva

3

'Untitled.png '의 Build Action 속성이'Resource '로 설정되어 있는지 확인하십시오. 솔루션 탐색기에서 파일을 클릭하고 속성 대화 상자를 표시 한 다음 빌드 작업 속성을 변경하십시오.

Dim bi As New BitmapImage() 
bi.BeginInit() 
bi.UriSource = New Uri("/WpfApplication1;component/Untitled.png", UriKind.Relative) 
bi.EndInit() 
+0

아직 작동하지 않습니다. 내 질문을 편집했습니다. 잠시만 기다려주세요. – Seva

1

BitmapImage bmi = new BitmapImage(new Uri(r[0].ToString(), UriKind.Relative)); 

image1.Source = bmi; // location + filename 

사용할 수 있습니까? XAML이 다음과 비슷한 것으로 가정합니다.

<Image x:Name="image1" HorizontalAlignment="Left" Width="175" Stretch="Fill" Margin="373.428,8,0,5.059"> 
    <Image.BindingGroup> 
     <BindingGroup/> 
    </Image.BindingGroup> 
</Image> 

내 Canvas/Layout 안에 Image 컨트롤이 추가되었습니다. (단지 야생 추측을 가지고)

관련 문제