blurutility.cpp 885 B

123456789101112131415161718192021222324252627
  1. #include "blurutility.h"
  2. #include "imageblur.h"
  3. #include <QPainter>
  4. //------------------------------------------------------------------------
  5. //函 数: CreateInnerShadow(QImage &image, const QColor &color, int radius)
  6. //
  7. //说 明: 创建内阴影image
  8. //
  9. //参 数:
  10. //[传入传出]image 传入已分配好内存空间(且具备长宽)的image对象, 传出处理后的image对象
  11. //[传入]color 阴影颜色
  12. //[传入]radius 阴影扩散程度
  13. //
  14. //返 回 值:是否成功
  15. //------------------------------------------------------------------------
  16. bool BlurUtility::CreateInnerShadow(QImage &image, const QColor &color, int radius)
  17. {
  18. if(image.isNull()) return false;
  19. QPainter p;
  20. p.begin(&image);
  21. p.setPen(QPen(color, 2));
  22. p.drawRect(QRect(0, 0, image.width(), image.height()));
  23. p.end();
  24. GaussBlur::Blur(image, radius);
  25. return true;
  26. }