Home » Community » Newbie corner » SaveFile progress tracking (SaveFile progress tracking with Progress dialog or ProgressIndicator)
Re: SaveFile progress tracking [message #58285 is a reply to message #58282] |
Sat, 09 April 2022 21:53  |
Mountacir
Messages: 49 Registered: November 2021
|
Member |
|
|
I found this solution from RasterEncoder.cpp
Works perfectly!
void Test::ImgSave(){
fsn.DefaultExt("png");
if(!fsn.ExecuteSaveAs()) return;
String fn = fsn;
int w = 10000;
int h = 10000;
work.Run([=] {
ImageDraw dw(w, h);
dw.DrawRect(0, 0, w, h, White());
ImageBuffer img(dw);
img.SetDPI(Size(300,300));
ImageRaster raster(img);
PNGEncoder encoder;
FileOut out(fn);
encoder.SetStream(out);
Size sz = raster.GetSize();
encoder.SetDots(raster.GetInfo().dots);
encoder.SetHotSpot(raster.GetInfo().hotspot);
encoder.Create(sz, raster);
for(int i = 0; i < sz.cy; i++){
encoder.WriteLine(raster[i]);
GuiLock __;
if (i==0){
progressindicator.Set(0,sz.cy);
progressindicator.Show();
}
progressindicator.Set(i);
}
GuiLock __;
statusbar = "Saved!";
});
}
|
|
|
Goto Forum:
Current Time: Tue May 06 06:45:16 CEST 2025
Total time taken to generate the page: 0.00696 seconds
|