Files
tessesframework-gfx/examples/capture.cpp
2025-11-02 16:51:28 -06:00

45 lines
1.4 KiB
C++

#include "TessesFrameworkGFX/TessesFrameworkGFX.hpp"
#include <cstdlib>
using namespace Tesses::Framework;
using namespace Tesses::Framework::Graphics;
using namespace Tesses::Framework::Graphics::ImageFormats;
using namespace Tesses::Framework::Streams;
int main(int argc, char** argv)
{
Tesses::Framework::TF_Init();
auto devs = Webcam::GetWebcams();
for(auto dev : devs)
{
for(auto res : dev.Resolutions)
{
Webcam dev2(dev.Device, res,10);
dev2.Open();
usleep(5000000);
Image frame;
Image clock;
Image clock2;
dev2.ReadFrame(&frame);
auto strm = std::make_shared<FileStream>("capture.png","wb");
auto date = Tesses::Framework::Date::DateTime::Now();
auto dateStr = date.ToString("%Y/%m/%d %I:%M %p");
clock.SetSize(GetCharWidth(dateStr.size()),CharHeight+2, Color(0,0,0,0));
//frame->FillRectangle(Rectangle(0,0,w,CharHeight+2),Colors::Blue);
clock.DrawString(dateStr,Point(0,1),Colors::Black);
clock.Resize(&clock2,Size(clock.Width()*2,clock.Height()*2));
frame.DrawImage(&clock2,Point(0,0), ImageCopyEffect::InvertIfNotTransparent);
Formats::Png.Save(strm,&frame);
dev2.Close();
break;
}
}
return 0;
}