Png 图像缩放保持 Alpha 通道

procedure TForm1.Button1Click(Sender: TObject);
//uses Winapi.GDIPOBJ, Winapi.GDIPAPI, Winapi.GDIPUTIL,
var
  Input: TGPImage;
  Output: TGPBitmap;
  Encoder: TGUID;
  Graphics: TGPGraphics;
begin
  Input := TGPImage.Create(‘C:\InputImage.png‘);
  try
    // create the output bitmap in desired size
    Output := TGPBitmap.Create(100, 100, PixelFormat32bppARGB);
    try
      // create graphics object for output image
      Graphics := TGPGraphics.Create(Output);
      try
        // set the composition mode to copy
        Graphics.SetCompositingMode(CompositingModeSourceCopy);
        // set high quality rendering modes
        Graphics.SetInterpolationMode(InterpolationModeHighQualityBicubic);
        Graphics.SetPixelOffsetMode(PixelOffsetModeHighQuality);
        Graphics.SetSmoothingMode(SmoothingModeHighQuality);
        // draw the input image on the output in modified size
        Graphics.DrawImage(Input, 0, 0, Output.GetWidth, Output.GetHeight);
      finally
        Graphics.Free;
      end;
      // get encoder and encode the output image
      if GetEncoderClsid(‘image/png‘, Encoder) <> -1 then
        Output.Save(‘C:\OutputImage.png‘, Encoder)
      else
        raise Exception.Create(‘Failed to get encoder.‘);
    finally
      Output.Free;
    end;
  finally
    Input.Free;
  end;
end;

  

时间: 2024-10-18 12:22:25

Png 图像缩放保持 Alpha 通道的相关文章

去除图像中的alpha通道或透明度

自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个app居然还要折腾我一翻,我只能说蛋蛋都碎了...不过,我除开精通iOS开发还略懂PS技术,所以这个东东还是困不住我,哈哈.下面就把"去除图像中的alpha通道或透明度"分享给everybody...... 一.问题的出现 当你历尽千辛万苦开发了一个你自以为很屌的app之后,终于你要提交了,

图像不能包含 alpha 通道或透明度

1.找专业美工解决 2.另存为 JPEG ,品质最佳.

图像缩放算法【转】

转自:http://blog.csdn.net/qq_21792169/article/details/51020005 版权声明:本文为Linux_Google原创文章,转载请加上原创链接. 转载别人的,但是这篇文章写得确实太好了,所以想分享出来,可是原创文章地址找不到了 ,很可惜. 图像缩放算法 摘要:首先给出一个基本的图像缩放算法,然后一步一步的优化其速度和缩放质量: 高质量的快速的图像缩放 全文 分为:      上篇 近邻取样插值和其速度优化      中篇 二次线性插值和三次卷积插值

11、图像缩放算法

正文: 为了便于讨论,这里只处理32bit的ARGB颜色:  代码使用C++;涉及到汇编优化的时候假定为x86平台;使用的编译器为vc2005;  为了代码的可读性,没有加入异常处理代码;  测试使用的CPU为AMD64x2 4200+(2.37G)  和 Intel Core2 4400(2.00G); 速度测试说明:  只测试内存数据到内存数据的缩放  测试图片都是800*600缩放到1024*768; fps表示每秒钟的帧数,值越大表示函数越快 //////////////////////

关于Opengl中将24位BMP图片加入?一个alpha通道并实现透明的问题

#include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h> #pragma comment( lib, "opengl32.lib" )// 链接时使用OpenGL32.lib#pragma comment( lib, "glu32.lib" )// 链接时使用GLu32.lib  #pragma comment( li

什么是Alpha通道?

图像处理(Alpha通道,RGB,...)祁连山(Adobe 系列教程)施雪扬的UI课程 一个也许很傻的问题,在图像处理中alpha到底是什么?  Alpha通道是计算机图形学中的术语,指的是特别的通道,意思是“非彩色”通道,主要是用来保存选区和编辑选区. 为什么用‘Alpha’代表透明度? l  Alpha 没有透明度的意思,不代表透明度.opacity 和 transparency 才和透明度有关,前者是不透明度,后者是透明度.比如 css 中的「opacity: 0.5」就是设定元素有 5

如何基于纯GDI实现alpha通道的矢量和文字绘制

今天有人在QQ群里问GDI能不能支持带alpha通道的线条绘制? 大家的答案当然是否定的,很多人推荐用GDI+. 一个基本的图形引擎要包括几个方面的支持:位图绘制,文字绘制,矢量绘制(如矩形,线条). 可惜GDI这个20多年前发明的老古董,对这几项的绘制, 除了位图绘制可以通过AlphaBlend支持alpha通道,其他绘制都不支持alpha通道. 那有没有方法让能通过纯GDI让文字和矢量的绘制也支持alpha通道呢? 讨论这个问题之前,我们先看一下用GDI函数在支持alpha通道的DC上绘制会

图像的表示与通道数问题

原文地址:https://blog.csdn.net/mao_hui_fei/article/details/78217049 数字图像的基本概念 对于一幅的数字图像,我们看到的是 肉眼可见的一幅真正的图片,但是计算机看来,这副图像只是一堆亮度各异的点.一副尺寸为 M × N 的图像可以用一个 M × N 的矩阵来表示,矩阵元素的值表示这个位置上的像素的亮度,一般来说像素值越大表示该点越亮. 一般来说,灰度图用 2 维矩阵表示,彩色(多通道)图像用 3 维矩阵(M× N × 3)表示. 下面说说

Alpha通道

 Alpha通道是计算机图形学中的术语,指的是特别的通道,意思是“非彩色”通道,主要是用来保存选区和编辑选区.真正让图片变透明的不是Alpha 实际是Alpha所代表的数值和其他数值做了一次运算  为什么用‘Alpha’代表透明度? l  Alpha 没有透明度的意思,不代表透明度.opacity 和 transparency 才和透明度有关,前者是不透明度,后者是透明度.比如 css 中的「opacity: 0.5」就是设定元素有 50% 的不透明度. l  一个图像的每个像素都有 RGB 三