⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 watermarkimpl.cpp

📁 非常方便实用的加解密软件
💻 CPP
字号:
//---------------------------------------------------------------------------
//我开放这个程序的代码并不是为了让你篡改版权,然后发布。
//个人希望你能从这个代码中受益,发现我的代码中好的,或者不好的东西。
//如果你觉得我写的代码在某些方面有问题,那么请务必要告诉我。
//期望共同进步!
//mikespook
//版权所有 (C) 2002-2004 mikespook & swill 保留所有权利。
//---------------------------------------------------------------------------
// WATERMARKIMPL : Implementation of TWatermarkImpl

#include <vcl.h>
#pragma hdrstop         

#include "WATERMARKIMPL.H"

/////////////////////////////////////////////////////////////////////////////
// TWatermarkImpl
STDMETHODIMP TWatermarkImpl::Close()
{
  try
  {
    delete FWatermark;
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::Open(BSTR FileName)
{
  try
  {
    FWatermark = new TXYWatermark(FileName);
    FFileName = FileName;
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::Reload()
{
  try
  {
    FWatermark->LoadFromFile(FFileName);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::Save()
{
  try
  {
    FWatermark->SaveToFile(FFileName);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::SaveAs(BSTR FileName)
{
  try
  {
    FWatermark->SaveToFile(FileName);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::SetFont(BSTR Name, int Size, long Color)
{
  try
  {
    FWatermark->Font->Name = Name;
    FWatermark->Font->Size = Size;
    FWatermark->Font->Color = TColor(Color);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::SetText(BSTR Text, unsigned_long X,
  unsigned_long Y, unsigned_short isTrans)
{
  try
  {
    FWatermark->SetText(Text, Point(X, Y), (bool)isTrans);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}

STDMETHODIMP TWatermarkImpl::SetWatermark(BSTR FileName, unsigned_long X,
  unsigned_long Y, unsigned_short isTrans)
{
  try
  {
    FWatermark->SetWatermark(FileName, Point(X, Y), (bool)isTrans);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}


STDMETHODIMP TWatermarkImpl::get_BKColor(long* Value)
{
  try
  {
    Value = (long *)FWatermark->BKColor;
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};

STDMETHODIMP TWatermarkImpl::get_TransColor(long* Value)
{
  try
  {
    Value = (long *)FWatermark->TransColor;
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};


STDMETHODIMP TWatermarkImpl::set_BKColor(long Value)
{
  try
  {
    FWatermark->BKColor = &TColor(Value);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};


STDMETHODIMP TWatermarkImpl::set_TransColor(long Value)
{
  try
  {
    FWatermark->TransColor = &TColor(Value);
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};



STDMETHODIMP TWatermarkImpl::Resize(unsigned_long Width,
  unsigned_long Height)
{
  try
  {
    FWatermark->Resize(Point(Width, Height));
  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
}


STDMETHODIMP TWatermarkImpl::get_BMP(BSTR * Value)
{
  try
  {

  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};



STDMETHODIMP TWatermarkImpl::get_JPEG(BSTR * Value)
{
  try
  {

  }
  catch(const Exception &E)
  {
    Response->Write(TVariant("XY组件错误:" + E.Message));
    return Error(E.Message.c_str(), IID_IWatermark);
  }
  return S_OK;
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -