命令行刷图工具,VC++

#include <graphics.h>
#include <conio.h>
#include <windows.h>
typedef HWND (WINAPI *PROCGETCONSOLEWINDOW)();
PROCGETCONSOLEWINDOW GetConsoleWindow;
int main (int args, char *argv[])
{
 int i=0;
 int temp=0;
 int width=800;
 int height=600;
 for(i=0;i<args;i++)
 {
  if(strcmp("-p",argv[i])==0)
  {
   temp=i+1;
  }
  if(strcmp("-width",argv[i])==0)
  {
   width=atoi(argv[i+1]);
   i++;
  }
  if(strcmp("-height",argv[i])==0)
  {
   height=atoi(argv[i+1]);
   i++;
  }
 }
 HMODULE hKernel32 = GetModuleHandle("kernel32");
 GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow");
 HWND hwnd = GetConsoleWindow();
 HDC hdc(GetWindowDC(hwnd));
 HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
 CONSOLE_SCREEN_BUFFER_INFO bInfo;
 GetConsoleScreenBufferInfo(hOut,&bInfo);
 RECT rect;
 GetClientRect(hwnd,&rect);
 int x=0;
 int y=0;
 int nowX =5+( bInfo.dwCursorPosition.X) * (rect.right-rect.left)/(bInfo.srWindow.Right-bInfo.srWindow.Left);
 int nowY =34+ ( bInfo.dwCursorPosition.Y) * (rect.bottom-rect.top)/(bInfo.srWindow.Bottom-bInfo.srWindow.Top);
 initgraph(width, height,SHOWCONSOLE);
 HDC hdc1 = GetImageHDC();
 loadimage(NULL, argv[temp]);
 getch();
 for(x=0;x<rect.right-rect.left;x++)
 {
  for(y=0;y<rect.bottom-rect.top;y++)
  {
    SetPixel(hdc,nowX+x,nowY+y,getpixel(x,y));
  }
 }
 closegraph();
 return 0;
}

命令行刷图工具,VC++                                                                                                      
-p 指定图片路径如 c:\2.jpg
-width 图片适应的宽度(默认800)
-height 图片适应的高度(默认600)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值