이미지가 파일이 아닙니다. 파일에있는 Image를 표시하지만 Image 객체에 파일을로드 한 후에는 편집 된 이미지를 파일에 저장해야 할 때까지 파일을 다시 사용하지 마십시오.
이미지를 표시한다고 말합니다. winforms를 사용하면서 PictureBox 컨트롤을 사용하고 있다고 가정합니다. 그렇지 않은 경우, 이미지를 표시하도록 지시 한 클래스가 있습니다.
Image imageToDisplay = GetImageToDisplay();
this.PictureBox1.Image = imageToDisplay;
는 GetImageTodisplay는 파일을 읽고
System.Drawing.Image GetImageToDisplay()
{
FileStream imageStream = new FileStream(this.GetImageFileName(), FileMode.Open);
System.Drawing.Image image = new Image(imageStream);
return image;
}
은 분명히 당신은 또한 슬라이더를 이미지로 돌아갑니다. 슬라이더 클래스는 언급하지 않지만 새로운 슬라이더 값에 대해 양식에 알리는 것은 분명히 객체입니다.
void OnSliderValueChanged(object sender, int sliderValue)
{
Image displayedImage = this.PictureBox1.Image;
this.ProcessSliderChanged(image, sliderValue);
}
지금까지는 새 파일이 생성되지 않았습니다. 따라서 ProcessSliderChange
이어야합니다. 다행히도 그것은 당신이 직접 만든 함수입니다. 새 슬라이더 값에 따라 이미지를 변경하면됩니다. 파일 처리와 아무것도하지 말고 당신이
void ProcessSliderChange(System.Drawing.Image image, int sliderValue)
{ // what do you want to do with the image?
// make it darker? move it? change contrast?
}
불행하게도 이미지 클래스 이미지를 편집 할 수있는 많은 기능이없는 새 파일을받지 않습니다, 나는 당신이 행동 기능을 가진 라이브러리가 있다고 가정 System.Drawing.Image 개체. 이러한 기능을 사용하여 이미지를 변경하십시오.
웹 양식? MVC? WPF? Win-Forms? – trailmax
왜 임시 파일을 사용 하시겠습니까? 왜 메모리에있는 이미지를 편집하지 않는가? –
필자는 필자가 반드시 원하지는 않지만 프로그래밍에 익숙하지 않고 nontemp 파일이 작동하지 않는 것 같아서 ... 데이터를 표시하기 위해 일시적으로 데이터를 저장해야하는 위치를 모르겠다 - 일부 "장소" 예 picturebox는 액세스하고 읽을 수 있습니다. 또한 나는 당신이 메모리에서 이미지를 편집하여 무엇을 의미하는지 잘 모르겠다. – sterlingberger