2010-07-27 3 views
0

코드 숨김의 데이터 목록에서 이미지의 너비와 높이를 설정하려고합니다.이미지 너비/높이 코드에서 설정 - ASP.NET, C#

너비/높이에 따라 이보다 더 복잡한 작업을 수행하므로 aspx 파일의 너비와 높이를 50 %로 설정하는 것은 옵션이 아닙니다.

어떤 이유인지 나는 항상 너비와 높이가 0이됩니다. Image1.ImageUrl은 내가 비록을 기대하지만 무엇입니까. 어떤 아이디어? Image는 System.Drawing.Image가 아니라 System.Web.UI.Webcontrols.Image입니다.

protected void DataList9_ItemDataBound(object sender, DataListItemEventArgs e) 
    { 
     Image Image1 = (Image)e.Item.FindControl("Image1"); 

     double height = Image1.Height.Value; 
     double width = Image1.Width.Value; 
     height = height * 0.5; 
     width = width * 0.5; 

     Image1.Height = new Unit(height); 
     Image1.Width = new Unit(width); 
    } 

답변

1

img 태그를 기억하면 기본적으로 widthheight을 설정하지 않습니다. 이 경우 WidthHeight을 설정하지 않으면 0 (또는 정의되지 않음)이됩니다. 실제 (이미지, 픽셀) 너비와 높이가 필요한 경우 이미지를 메모리에로드하여 직접 찾아야합니다.

파일 형식에 따라 .NET에는 이미 디코더가 있거나이 파일을로드 할 수있는 기능이있을 수 있습니다. Bitmap에로드 한 다음 너비와 높이를 쿼리하십시오.

0

이미지의 OnLoad 핸들러를 선언/정의하고 거기에 높이/너비를 설정 했습니까?

2

위 코드가 너비 및 높이를 지정하지 않은 이미지 컨트롤을 참조하고 있습니다.

원하는 것을 수행하십시오. 이미지 원본을 가져 와서 GDI를 사용하여 메모리에로드해야한다고 생각합니다. 그런 다음 너비와 높이를 결정할 수 있습니다. 그런 다음 너비와 높이를 조정하고 이미지 태그의 속성에 적용 할 수 있습니다.

1

저는 C#에 대해 확신이 없지만 VB.net에서이 방법으로 코드를 작성할 수 있습니다. 따라서 뭔가 평등하다는 것이 확실하며 실제 코딩 문제가 아니라면 의도를 해결할 것으로 보입니다. 디 미지와

으로
      .Width = 50 %
      .height의 = 50 %
끝 내 XAML에서 이미지 높이를 설정뿐만 아니라 떠나기로 모두 시도 그것.

- 레이아웃 목적으로 편집 됨.