文档章节

图片的居中、拉伸与平铺 - 回复 "我是一只想飞的小小鸟" 的问题

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 320
阅读 10
收藏 0
点赞 0
评论 0
问题来源: http://www.cnblogs.com/del/archive/2008/11/04/1326105.html#1533947

本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  bit: TBitmap;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Repaint;
  bit.LoadFromFile('C:\Temp\Test.bmp');
  Canvas.Draw(0, 0, bit);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  x,y: Integer;
begin
  Repaint;
  x := (ClientWidth - bit.Width) div 2;
  y := (ClientHeight - bit.Height) div 2;
  Canvas.Draw(x, y, bit);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Repaint;
  Canvas.StretchDraw(ClientRect, bit);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Self.Brush.Bitmap := bit;
  Repaint;
  Self.Brush.Bitmap := nil;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Caption := '加载';
  Button2.Caption := '居中';
  Button3.Caption := '拉伸';
  Button4.Caption := '平铺';

  bit := TBitmap.Create;
  Self.Brush.Bitmap := nil;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  bit.Free;
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 231
  ClientWidth = 335
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 8
    Top = 187
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 89
    Top = 187
    Width = 75
    Height = 25
    Caption = 'Button2'
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 170
    Top = 187
    Width = 75
    Height = 25
    Caption = 'Button3'
    TabOrder = 2
    OnClick = Button3Click
  end
  object Button4: TButton
    Left = 251
    Top = 187
    Width = 75
    Height = 25
    Caption = 'Button4'
    TabOrder = 3
    OnClick = Button4Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/05/21/1486195.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
CSS3 border-image详解、应用及jQuery插件

一、border-image的兼容性 border-image可以说是CSS3中的一员大将,将来一定会大放光彩,其应用潜力真的是非常的惊人。可惜目前支持的浏览器有限,仅 Firefox3.5,chrome浏览器,Safari3+支持...

林文安
2012/05/31
0
0
在iOS开发中如何优雅地进行图片缩放?

原文出处: martinwjl(@martinwjl) 对于图片拉伸是移动开发中很常见的需求,在前一阵子做项目中需要做一个类似于聊天气泡,这个气泡会根据文字的多少而变化,当时有了三种方案: 重写方法,使...

刘星石
2016/03/07
7
0
resizableImageWithCapInsets认知和对@2x图片的理解

1、resizableImageWithCapInsets 在很多编程语言中都有resizable image这样的概念,比如android中的NinePatch graphic ,css3中的border image,微软的Nine-Grid Rendering,还有就是iOS中U...

山不在高有仙则名
2013/12/18
0
0
resizableImageWithCapInsets:方法的探析

原文出处: SketchK七爷(@SketchK-七爷) 1. 故事背景 苹果公司为iOS开发者提供了以下的方法用于处理图片的拉伸问题 1 2 - (UIImage )resizableImageWithCapInsets:(UIEdgeInsets)capInset...

刘星石
2016/03/09
14
0
css 背景图不拉伸自适应屏幕大小

效果图 全屏: 背景图尺寸大于屏幕尺寸,背景图只显示跟屏幕一样大小内容 小屏时: 如效果图所示,图片并没有发生压缩、或者缩小比例,它只是显示跟屏幕尺寸大小的内容,至于如何控制缩小浏览...

xiaoxin502
2015/12/08
3.2K
0
BitmapUtils加载图片会被拉伸

@wyouflf 你好,想跟你请教个问题: 小弟不才,最近有个开发需求,就是要从网络加载一张很长的图片,然后显示在页面上。我看了一下bitmaputils的功能,如果是imageview的话就是setImageBitma...

JIMEST
2014/11/03
2.5K
0
CSS3实战第一波:让我们尽情的圆角吧

如果说,WAP2.0网页的机型、浏览器适配给我们无线制作经理造成了巨大的心理阴影,那么从iPhone、Android这些高端手机应用 起,我们终于可以庆幸比其他同行提前迎来了一个新时代,这两种高端手...

小编辑
2010/07/22
712
2
图像边框 border-image属性

border-image 属性最简单的使用方法如下所示: 第一个参数为边框所使用的图像文件的路径,A B C D 四个参数标示当浏览器自动把边框所使用到的图像进行分割时上边距、右边距、下边距及左边距。...

拉普拉斯婷
2016/09/22
12
0
使用图片方式自定义iOS导航栏navigationItem的backBarButtonItem

在做ViewControlller的navigationItem时,我们经常需要使用自定义的图片来替换系统默认的按钮样式,这点在对普通导航项,比如leftBarButtonItem或rightBarButtonItem来说还是比较简单的,通过...

04zhujunjie
2015/09/24
1K
0
使用图片方式自定义iOS导航栏navigationItem的backBarButtonItem

在做ViewControlller的navigationItem时,我们经常需要使用自定义的图片来替换系统默认的按钮样式,这点在对普通导航项,比如leftBarButtonItem或rightBarButtonItem来说还是比较简单的,通过...

hejunbinlan
2015/08/24
4.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Weblogic问题解决记录

问题:点击登录,页面刷新但是不进去管理界面。解决:删除cookies再登录。

wffger
22分钟前
0
0
RxJava2的错误处理方案

最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的...

猴亮屏
29分钟前
0
0
程序的调试信息

调试二进制程序时,经常要借助GDB工具,跟踪程序的执行流程,获取程序执行时变量的值,以发现问题所在。GDB能得到这些信息,是因为编译程序时,编译器保存了相应的信息。Linux下的可执行程序...

qlee
52分钟前
0
0
应用级缓存

缓存命中率 从缓存中读取数据的次数与总读取次数的比例,命中率越高越好 java缓存类型 堆缓存 guavaCache Ehcache3.x 没有序列化和反序列化 堆外缓存ehcache3.x 磁盘缓存 存储在磁盘上 分布式...

writeademo
今天
0
0
python爬虫日志(3)find(),find_all()函数

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Sou...

茫羽行
今天
0
0
java:thread:顺序执行多条线程

实现方案: 1.调用线程的join方法:阻塞主线程 2.线程池 package com.java.thread.test;public class MyThread01 implements Runnable {@Overridepublic void run() {Syste...

人觉非常君
今天
0
0
ElasticSearch 重写IK分词器源码设置mysql热词更新词库

常用热词词库的配置方式 1.采用IK 内置词库 优点:部署方便,不用额外指定其他词库位置 缺点:分词单一化,不能指定想分词的词条 2.IK 外置静态词库 优点:部署相对方便,可以通过编辑指定文...

键走偏锋
今天
19
0
Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
今天
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
今天
42
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部