Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure TForm1.N16bitBGR1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat16bppBGR555, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N16bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat16bppGray, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeFixedGray16 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N24bitGBB1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat24bppBGR, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N2bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat2bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N32bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat32bppGrayFloat, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeFixedGray256 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N32bitGRBA1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat32bppPBGRA, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N4bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat4bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N8bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat8bppGray, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N8bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat8bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeFixedGray256 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N16bitBGR1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat16bppBGR555, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N16bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat16bppGray, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeFixedGray16 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N24bitGBB1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat24bppBGR, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N2bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat2bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N32bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat32bppGrayFloat, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeFixedGray256 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N32bitGRBA1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat32bppPBGRA, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N4bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat4bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N8bitGray1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat8bppGray, WICBitmapDitherTypeSolid, nil, 0,
- WICBitmapPaletteTypeMedianCut );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
- procedure TForm1.N8bitIndexed1Click( Sender: TObject );
- var
- wicImg: TWICImage;
- wicBitmap: IWICBitmap;
- iBmpSource: IWICBitmapSource;
- puiWidth, puiHeight: UINT;
- iConverter: IWICFormatConverter;
- begin
- if cxImage1.Picture.Graphic is TWICImage then
- begin
- Screen.Cursor := crHourGlass;
- try
- wicImg := TWICImage( cxImage1.Picture.Graphic );
- wicImg.ImagingFactory.CreateFormatConverter( iConverter );
- iBmpSource := wicImg.Handle as IWICBitmapSource;
- iBmpSource.GetSize( puiWidth, puiHeight );
- iConverter.Initialize( iBmpSource, GUID_WICPixelFormat8bppIndexed, WICBitmapDitherTypeNone, nil, 0,
- WICBitmapPaletteTypeFixedGray256 );
- wicImg.ImagingFactory.CreateBitmapFromSourceRect( iConverter, 0, 0, puiWidth, puiHeight, wicBitmap );
- if Assigned( wicBitmap ) then
- wicImg.Handle := wicBitmap;
- cxImage1.Repaint;
- cxImage1.Update;
- cxImage1.Invalidate;
- dxStatusBar1.Panels[ 0 ].Text := ExtractFileDir( AFilename );
- dxStatusBar1.Panels[ 1 ].Text := ExtractFileName( AFilename );
- dxStatusBar1.Panels[ 2 ].Text := 'Width: ' + IntToStr( WICImageWidth( cxImage1 ) );
- dxStatusBar1.Panels[ 3 ].Text := 'Height: ' + IntToStr( WICImageHeight( cxImage1 ) );
- dxStatusBar1.Panels[ 4 ].Text := 'Pixel Format: ' + WICGetPixelFormat( cxImage1 );
- finally
- Screen.Cursor := crDefault;
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement