版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2017年中国瑜伽服饰行业前景研究报告2017年中国瑜伽服饰行业前景研究报告一、瑜伽服饰行业的定义及特点瑜伽服就是瑜伽练习者在瑜伽时所着装的衣服。对于初学者来说,瑜伽服是最基本的装备,瑜伽的动作都是非常柔软,而且幅度比较大,所以要求瑜伽服不要太紧身。太贴身的衣服对于动作的伸展性不好,瑜伽服基本上都是上紧下松,是为了方便把动作做到位。上身要穿出气质,下身则要求宽松、休闲为主,此外,瑜伽服还具备了以下的特点:1、净色,正如瑜伽人的纯净和和平;2、简约,正如瑜伽人的生活态度;3、环保,正如瑜伽人对自然和谐的热爱。二、我国瑜伽馆区域分布根据瑜伽蓝皮书:中国瑜伽业发展报告(20162017)显示,对中国
2、大陆31个省份的131个城市的瑜伽场馆进行了统计(不包括健身房等非专业瑜伽练习场所)。截止2016年3月31日,这131个城市中共有瑜伽场馆14146家,但区域分布极不均衡。其中,广东、山东和江苏瑜伽馆数量最多,分别为1307家、1067家和922家;宁夏、青海和西藏最少,分别为45家、16家和1家。根据这一调查和统计,我国瑜伽馆的区域分布主要特征有以下几方面。首先,按东、中、西三大区域考察瑜伽馆的分布,其中,东部地区有11个省份,包括北京、天津、河北、辽宁、上海、江苏、浙江、福建、山东、广东和海南;中部地区有8个省份,包括山西、吉林、黑龙江、安徽、江西、河南、湖北、湖南;西部地区有12个省份
3、,包括四川、重庆、贵州、云南、西藏、陕西、甘肃、青海、宁夏、新疆、广西、内蒙古。东部地区有瑜伽馆7634家,占全国瑜伽馆的54%。东部地区瑜伽馆最多的3个省份是广东1307家,约占本区域的17%;山东1067家,约占本区域的14%;江苏922家,约占本区域的12%。中部地区有瑜伽馆3713家,约占全国瑜伽馆的26%。中部地区瑜伽馆最多的3个省份是河南827家,约占本区域的22%;湖北731家,约占本区域的20%;安徽543家,约占本区域的15%。西部地区有瑜伽馆2799家,占全国瑜伽馆的20%。西部地区瑜伽馆最多的3个省份是四川802家,约占本区域的29%;陕西638家,约占本区域的23%;广
4、西420家,约占本区域的15%。数据来源:中商产业研究院整理三、全民掀起健身运动潮,运动服饰将成为重要消费载体2014年10月国务院正式发文国务院关于加快发展体育产业促进体育消费的若干意见,明确指出,2025年中国体育产业总规模超过5万亿元。意见将全民运动列为国策,并提出一系列量化指标,包括人均体育场地面积达到2平方米、经常参加体育锻炼的人数达到5亿,以及体育公共服务基本覆盖全民,人均体育消费支出明显提高等要求。我国年人均体育消费约为135美元,与全球平均的220美元相比,仍有较大的提升空间。运动服饰是体育产业最核心的变现方式。以美国为例,美国体育产业发展成熟、结构相对均衡,但以运动服饰为代表
5、的体育用品占比仍达30%,与大众体育健身服务、体育观赏并列成为美国体育产业的最重要组成部分。对照中国市场,运动服饰行业在体育产业中占据重要地位,未来在“5万亿产业规模”和“5亿体育人群”的推动下,运动服饰行业将有更多增量,发展空间广阔。全民运动风潮兴起,在体育人群不断扩大,俱乐部数量快速增长,室内运动也受到大众青睐。在消费升级的过程中,室内运动的消费者也更关注运动装备的专业性和功能性,推动室内运动服饰需求快速增长。根据中商产业研究院数据库显示,2012-2016年中国瑜伽健身服饰市场规模从25亿元增长到75亿元,年复合增长率为24.5%,随着女性运动健康意识的觉醒,越来越多的年轻女性加入瑜伽健
6、身的大队伍,瑜伽服饰行业市场空间巨大。预计2017年,瑜伽服饰行业市场规模将达到89亿元。数据来源:中商产业研究院四、国内瑜伽服饰品牌集团领头羊浩沙国际浩沙国际1996年成立,2011年香港上市,是中国最大的室内运动服饰品牌集团。其有三大核心产品线包含瑜伽健身服饰、水运动服饰、运动内衣,通过“浩沙”品牌运营瑜伽健身服饰。1、多元化产品结构公司提供包含水运动、健身瑜伽、运动内衣三大产品线在内的多元化产品结构及丰富配件选择,使浩沙零售终端成为切合消费者室内运动服饰需求的一站式商店。优质全面的产品组合有助于巩固品牌影响力、培养消费者的品牌忠诚度。截止2017年上半年,公司实现营业收入6.56亿元,比
7、上年同期增长0.4%。其中瑜伽健身服饰收入为2.29亿元,约占总收入的35%,同比上年下跌了20%。数据来源:中商产业研究院2、渠道和销售终端2017年上半年,集团除巩固现有的线下销售终端,同时改进分销商合作模式,给予分销商于市场推广活动上更高的自由度,以更迅速的应对市场变化。另外,集团积极推动浩沙新零售,整合线上线下资源,充分开拓互联网+的及遇。集团正积极落实产业上下游(包括运动健康移动APP)的合作。公司经销渠道架构资料来源:公司公告3、未来展望展望未来,中国运动健康产业进入蓬勃发展的阶段,具有巨大的发展空间,需求增长强劲。在此背景下,浩沙将发挥在运动健康产品、运动健康服务方面的领先优势,
8、坚定运动健康产业发展战略,围绕消费者运动健康生活方式构建运动健康生态圈,以运动健康产品和大数据为中心,开发和整合产业资源,以移动运动健康小区实现消费者、场景、产品、服务提供商的连接,实现对消费者的运动健康生活方式提供全面的服务。2017年下半年,浩沙将全力推进“浩沙新零售”,包括落实线上线下销售的整合、建立全新O2O功能、通过移动APP订购产品及门店移动支付服务来提升客户的消费体验、通过大数据分析挖掘消费者需求等;落实产业上下游(包括运动健康移动APP)的合作,以灵活的合作投资方式整合行业资源,发展运动健康产业;根据用户需求,继续延伸运动健康产品,整合运动健康产品和服务,开发新的业务增长点;继
9、续推进各类运动健康活动的冠名赞助合作,提升品牌的专业度和美誉度。五、国外高端时尚瑜伽服饰龙头企业露露柠檬1、露露柠檬简介及经营情况露露柠檬(Lululemon)是全球知名的瑜伽运动服饰生产商,旗下包括 lululemon 主品牌瑜伽服饰和年轻女孩瑜伽服饰品牌 ivivva 以及相关系列运动的辅助器材及配件。公司产品以贴身舒适、时尚有型的特点从众多体育服装品牌中脱颖而出,迅速成为广受女性追捧的时尚运动品牌,在北美它是人们进行瑜伽、健身等活动的首选,有着“顶级瑜伽服”的美誉。露露柠檬成立于1998年的加拿大温哥华,2000年露露柠檬在加拿大开设第一家门店,2007年正式在纳斯达克上市,目前公司总市
10、值已达84亿美元。截至17年4月底,公司已在加拿大、美国、澳大利亚、英国、新加坡等多个国家设有406家直营店。露露柠檬于2014年进军亚洲市场,以在上海和香港的多间展示厅(非实体经营门店)作为试点,开启亚洲市场的征程。公司收入从2007年的27500万美元增长至2016年的23.44亿美元,期间年收入年复合增长高达24.9%,股价则从2007年上市至今上涨了近400%,是不折不扣的品牌服饰大牛股。数据来源:公司年报、中商产业研究院2、露露柠檬业务结构及渠道分布露露柠檬自诞生以来一直聚焦专业细分程度极高的瑜伽服饰领域,产品富含科技、时尚元素,公司旗下 lululemon 同名主品牌瑜伽服以贴身紧
11、实、舒适无负担、时尚、线条流畅有型、支撑及稳定性佳等特点,深受广大消费者的欢迎。2009 年,公司推出了高端年轻女孩瑜伽服饰副线品牌 ivivva,适合 6 至 15岁的小朋友进行舞蹈、瑜伽、滑冰、球类等各种运动。目前,副线品牌 ivivva 收入占比已接近总收入的 30%,显现出瑜伽运动的年轻化普及以及公司新生品牌的强大生命力。2013 年起,公司开始发力男性运动产品线,增加产品多样化,至 2015 年,公司男性用品的收入已达 10亿美元,占比总收入的 25%左右。此外,公司门店还陈列销售包括运动副线产品包、袜子、内衣、瑜伽垫和水壶等各种辅助配件用于扩充产品线。从渠道分布来看,公司旗下两大品
12、牌均以直营门店渠道为主,并且公司门店主要集中于北美地区。在上市以后,公司营业收入增长主要来源于美国。截至2017年4 月底,公司在美国拥有门店287家,占比总直营渠道数量的 70.7%,加拿大门店数量占比在 15.8%,其余门店分布在澳大利亚、新西兰、英国、新加坡、香港、德国、波多黎各等多个国家地区。除了实体店渠道,公司还拥有两大直营网站 和 。自 2010年以来,公司电商收入占比稳步提升,2015年公司在天猫开设官方旗舰店,2016 年电商收入占比已接近 20%。数据来源:公司年报、中商产业研究院3、露露柠檬的成功经验(1)顺势而为,紧抓休闲运动风流行趋势。运动休闲服饰的追随者主要是在 19
13、80-2000 年间出生的千禧一代,目前已占比美国总人口的 28%,这部分群体可支配收入增多,消费观念超前,愿意为时尚休闲、舒适健康的生活方式买单。据统计,美国千禧一代贡献了女性紧身运动裤近 45%的销售额。露露柠檬也正是紧紧抓住了这一风口,产品设计贴身紧实、富含时尚感、线条流畅有型,将专业性的瑜伽裤结合时尚潮流度,满足消费者对服饰的功能、情感双重要求,将原本小众的瑜伽服品牌运营成为英美加澳女性热烈追捧的高端时尚运动品牌。(2)生活化、社区化营销推广,提升顾客忠诚度。露露柠檬不仅仅是运动品牌,也代表一种生活方式和社交工具。年轻女士们通过露露柠檬举办的课程或社区活动,成为瑜伽伙伴、结交朋友,更多
14、的消费者是为了购买露露柠檬的瑜伽服而想到做瑜伽。露露柠檬不仅仅是运动服饰,也代表一种健康服务。通过这些活动,公司与顾客之间不再是简单的买卖关系,而是更为亲密的朋友伙伴式关系,以此进一步加强客户粘性和忠诚度。公司由“卖产品”衍变为“卖生活方式”,从而享有更高的定价权。(3)产品品质优良,中高端定位享受消费升级红利。对于服饰消费品,归根结底其最能打动消费者的属性应当是产品品质。早在创立露露柠檬的时候,尽管瑜伽服只是个细分小市场,其创始人有效解决了当时瑜伽服舒适感弱、排行性差、不够贴身等短板,用料上既保证透气但又不会透视。同时,公司改变了运动裤一贯的单一纯色调,以各色花样、图案融入到款式中,使得人们
15、在运动之后可以随意走出健身房,出入公共场合。露露柠檬本身过硬的品质加上时尚感的设计,迅速受到了消费群体的欢迎,就连北美的影视娱乐明星都非常青睐露露柠檬的产品。FS:Page六、露露柠檬对国内品牌的启示1、垂直细分领域品牌的崛起和持续发展离不开其差异化的市场定位或差异化的推广模式。2、产品品质是服饰消费品竞争的最核心因素之一,在此基础上紧抓消费趋势,才能取得成倍效果。3、营销“消费者信仰”比营销品牌能获得更高的定价权。4、定位中产阶级消费群体的中高端品牌,将充分受益于消费升级所带来的增量。中商产业研究院简介中商产业研究院是深圳中商情大数据股份有限公司下辖的研究机构,研究范围涵盖智能装备制造、新能
16、源、新材料、新金融、新消费、大健康、“互联网+”等新兴领域。公司致力于为国内外企业、上市公司、投融资机构、会计师事务所、律师事务所等提供各类数据服务、研究报告及高价值的咨询服务。中商行业研究服务内容行业研究是中商开展一切咨询业务的基石,我们通过对特定行业长期跟踪监测,分析行业需求、供给、经营特性、盈利能力、产业链和商业模式等多方面的内容,整合行业、市场、企业、用户等多层面数据和信息资源,为客户提供深度的行业市场研究报告,全面客观的剖析当前行业发展的总体市场容量、竞争格局、进出口情况和市场需求特征等,对行业重点企业进行产销运营分析,并根据各行业的发展轨迹及实践经验,对各产业未来的发展趋势做出准确
17、分析与预测。中商行业研究报告是企业了解各行业当前最新发展动向、把握市场机会、做出正确投资和明确企业发展方向不可多得的精品资料。中商行业研究方法中商拥有10多年的行业研究经验,利用中商Askci数据库立了多种数据分析模型,在产业研究咨询领域利用行业生命周期理论、SCP分析模型、PEST分析模型、波特五力竞争分析模型、SWOT分析模型、波士顿矩阵、国际竞争力钻石模型等、形成了自身独特的研究方法和产业评估体系。在市场预测分析方面,模型涵盖对新产品需求预测、快速消费品销售预测、市场份额预测等多种指标,实现针对性的进行市场预测分析。中商研究报告数据及资料来源中商利用多种一手及二手资料来源核实所收集的数据
18、或资料。一手资料来源于中商对行业内重点企业访谈获取的一手信息数据;中商通过行业访谈、电话访问等调研获取一手数据时,调研人员会将多名受访者的资料及意见、多种来源的数据或资料进行比对核查,公司内部也会预先探讨该数据源的合法性,以确保数据的可靠性及合法合规。二手资料主要包括国家统计局、国家发改委、商务部、工信部、农业部、中国海关、金融机构、行业协会、社会组织等发布的各类数据、年度报告、行业年鉴等资料信息。数据来源数据种类金融机构金融机构公开发布的各类年度数据、季度数据、月度数据等政府部门宏观经济数据、行业经济数据、产量数据、进出口贸易数据等行业协会年度报告数据、公报数据、行业运行数据、会员企业数据等
19、社会组织国际性组织、社会团体公布的各类数据等行业年鉴农业、林业、医疗、卫生、教育、环境、装备、房产、建筑等各类行业数据公司公告资本市场各类公司发布的定期年报、半年报、公司公告等期刊杂志在开期刊杂志中获取的仅限于允许公开引用、转载的部分中商调研研究人员、调研人员通过实地调查、行业访谈、获取的一手数据中商的产业研究服务优势产业研究优势优势体现丰富的数据资源、强大数据挖掘能力中商是中国首家自建数据库系统的产业研究咨询机构,公司自主研发的Askci数据库和CISource中商情报通对各类数据建立中商企业数据库、全球数据库、宏观经济数据库、行业数据库、区域数据库、调研数据库等专业数据库,覆盖近5000多
20、个细分产业数据。知名的研究团队,优质的研究咨询服务中商拥有具备专业背景知识和熟悉产业运营的复合型人才, 产业分析师、行业专家及咨询顾问共计300余名,在宏观经济、区域经济、细分行业及政策法规研究方面具备很强的实力。公司研究团队为客户提供专业的产业研究咨询服务及个性化的专项咨询服务。专门的客服团队,满足客户个性化咨询服务公司建立了专门的客服团队,能够更为准确的了解客户的需求并满足,并且能够对客户的需求进行快速的处理,深入为客户提供多样化、个性化产品解决方案。通过加强员工培训与业务创新,开创了民营银行筹建、保险公司筹建等新型咨询服务业务。产业大数据平台成就最具影响力行业门户公司旗下中商情报网是是国
21、内专业的商业大数据发布和查询平台,经过多年的发展吸引培养了一批忠实用户,已成为中国财经领域“最具影响力行业门户”,为国内外企业、金融从业人员、创业人员、科研院所工作者等提供客观、时效、高价值的商业资讯。中商的影响力国家政府部门及权威媒体广泛报道与引用中商产业研究院专业研究结论国内外主流财经媒体及国家政府部门大量引用中商数据及研究结论,如央视财经、凤凰财经新浪财经、中国经济信息网、国家商务部、发改委、国务院发展研究中心(国研网)等。附录资料:不需要的可以自行删除 C语言曲线函数像素函数putpixel() 画像素点函数 getpixel()返回像素色函数 直线和线型函数line() 画线函数 l
22、ineto() 画线函数 linerel() 相对画线函数 setlinestyle() 设置线型函数 getlinesettings() 获取线型设置函数 setwritemode() 设置画线模式函数 多边形函数HYPERLINK /view/553113.htmrectangle() 画矩形函数 bar() 画条函数 bar3d() 画条块函数 drawpoly() 画多边形函数 圆、弧和曲线函数getaspectratio()获取纵横比函数 circle()画圆函数 arc() 画圆弧函数 ellipse()画HYPERLINK /view/36981.htm椭圆弧函数 fillell
23、ipse() 画椭圆区函数 pieslice() 画扇区函数 sector() 画椭圆扇区函数 getarccoords()获取圆弧坐标函数 填充函数setfillstyle() 设置填充图样和颜色函数 setfillpattern() 设置用户图样函数 floodfill() 填充闭域函数 fillpoly() 填充多边形函数 getfillsettings() 获取填充设置函数 getfillpattern() 获取用户图样设置函数 图像函数imagesize() 图像存储大小函数 getimage() 保存图像函数 putimage() 输出图像函数 图形和图像函数对许多图形HYPERL
24、INK /view/330120.htm应用程序,直线和HYPERLINK /view/400.htm曲线是非常有用的。但对有些图形只能靠操作单个像素才能画出。当然如果没有画像素的功能,就无法操作直线和曲线的函数。而且通过大规模使用像素功能,整个图形就可以保存、写、擦除和与屏幕上的原有图形进行叠加。 (一) 像素函数putpixel() 画像素点函数功能: 函数putpixel() 在图形模式下屏幕上画一个像素点。 用法: 函数调用方式为void putpixel(int x,int y,int color); 说明: 参数x,y为像素点的坐标,color是该像素点的颜色,它可以是颜色符号名,
25、也可以是整型色彩值。 此函数相应的HYPERLINK /view/668911.htm头文件是graphics.h 返回值: 无 例: 在屏幕上(6,8)处画一个红色像素点: putpixel(6,8,RED); getpixel()返回像素色函数功能: 函数getpixel()返回像素点颜色值。 用法: 该函数调用方式为int getpixel(int x,int y); 说明: 参数x,y为像素点坐标。 函数的返回值可以不反映实际彩色值,这取决于HYPERLINK /view/1120949.htm调色板的设置情况(参见setpalette()函数)。 这个函数相应的头文件为graphic
26、s.h 返回值: 返回一个像素点色彩值。 例: 把屏幕上(8,6)点的像素颜色值赋给变量color。 color=getpixel(8,6); (二) 直线和线型函数有三个画直线的函数,即line(),lineto(),linerel()。这些直线使用整型坐标,并相对于当前图形视口,但不一定受视口限制,如果视口裁剪标志clip为真,那么直线将受到视口边缘截断;如果clip为假,即使终点坐标或新的当前位置在图形视口或屏幕极限之外,直线截断到屏幕极限。 有两种线宽及几种线型可供选择,也可以自己定义线图样。下面分别介绍直线和线型函数。 line() 画线函数功能: 函数line()使用当前绘图色、线
27、型及线宽,在给定的两点间画一直线。 用法: 该函数调用方式为void line(int startx,int starty,int endx,int endy); 说明: 参数startx,starty为起点坐标,endx,endy为终点坐标,函数调用前后,图形状态下屏幕光标(一般不可见)当前位置不改变。 此函数相应的头文件为graphics.h 返回值: 无 例: 见函数60.linerel()中的实例。 lineto() 画线函数功能: 函数lineto()使用当前绘图色、线型及线宽,从当前位置画一直线到指定位置。 用法: 此函数调用方式为void lineto(int x,int y);
28、 说明: 参数x,y为指定点的坐标,函数调用后,当前位置改变到指定点(x,y)。 该函数对应的头文件为graphics.h 返回值: 无 例: 见函数60.linerel()中的实例。 linerel() 相对画线函数功能: 函数linerel() 使用当前绘图色、线型及线宽,从当前位置开始,按指定的水平和垂直偏移距离画一直线。 用法: 这个函数调用方式为void linerel(int dx,int dy); 说明: 参数dx,dy分别是水平偏移距离和垂直偏移距离。 函数调用后,当前位置变为增加偏移距离后的位置,例如,原来的位置是(8,6),调用函数linerel(10,18)后,当前位置为
29、(18,24)。 返回值:无 例: 下面的程序为画线函数调用实例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setcolor(15); line(66,66,88,88); lineto(100,100); linerel(36,64); getch(); restorecrtmode(); setlinestyle() 设置线型函数功能: setlinestyle() 为画线函数设置当前线型,包括线型、线图样和线宽。 用法: setlinestyle()
30、函数调用方式为void setlinestyle(int stly,unsigned pattern,int wigth); 说明: 参数style为线型取值,也可以用相应名称表示,如表1-10中所示。 参数pattern用于自定义线图样,它是16位(bit)字,只有当style=USERBIT_LINE(值为1)时,pattern的值才有意义,使用用户自定义线图样,与图样中“1”位对应的像素显示,因此,pattern=0 xFFFF,则画实线;pattern=0 x9999,则画每隔两个像素交替显示的虚线,如果要画长虚线,那么pattern的值可为0 xFF00和0 xF00F,当style
31、不为USERBIT_LINE值时,虽然pattern的值不起作用,但扔须为它提供一个值,一般取为0。 参数wigth用来设定线宽,其取值见表1-11,表中给出了两个值,即1和3,实际上,线宽取值为2也是可以接受的。 若用非法参数调用setlinestyle()函数,那么graphresult()会返回错误代码,并且当前线型继续有效。 Turbo C提供的线型与线宽定义在头文件graphics.h中,表1-10和1-11分别列出了参数的取值与含义。 表1-10 线型 名称取值含义SOLID_LINE0实线DOTTED_LINE1点线CENTER_LINE2中心线DASHED_LINE3虚线USE
32、RBIT_LINE4用户自定义线型表1-11 线宽 名 称取 值说 明NORM_WIDTH(常宽)1一个像素宽(缺省值)THICK_WIDTH(加宽)3三个像素宽这个函数的头文件是graphics.h 返回值: 无 例: 下面的程序显示了BC中所提供的线型图样: #i nclude void main() int driver,mode;i; driver=DETECT; mode=0; initgraph(&driver,&mode,); for(i=0;i4;i+) setlinestyle(i,0,1); line(i*50,200,i*50+60,200) ; getch(); res
33、torecrtmode(); getlinesettings() 获取线型设置函数功能: 函数getlinesettings() 用当前设置的线型、线图样和线宽填 写linesettingstype型结构。 用法: 函数调用方式为void getlinesettings(struct linesettingstype *info); 说明: 此函数调用执行后,当前的线型、线图样和线宽值被装入info指向的结构里,从而可从该结构中获得线型设置。 linesettingstype型结构定义如下: struct linesettingstype int linestyle; unsigned upa
34、ttern; int thickness; ; 其中linestyle用于存放线型,线型值为表1-10中的各值之一。 upattern用为装入用户自定义线图样,这是16位字,每一位等于一个像素,如果哪个位被设置,那么该像素打开,否则关闭。 thickness为线宽值存放的变量,可参见表1-11。 getlinesettings()函数对应的头文件为graphics.h 返回值: 返回的线型设置存放在info指向的结构中。 例: 把当前线型的设置写入info结构: struct linesettingstype info; getlinesettings(&info); setwritemode
35、() 设置画线模式函数功能: 函数setwritemode() 设置画线模式 用法: 函数调用方式为 void setwritemode()(int mode); 说明: 参数mode只有两个取值0和1,若mode为0,则新画的线将覆盖屏幕上原有的图形,此为缺省画线输出模式。如果mode为1,那么新画的像素点与原有图形的像素点先进行异或(XOR)运算,然后输出到屏幕上,使用这种画线输出模式,第二次画同一图形时,将擦除该图形。调用setwritemode()设置的画线输出模式只影响函数line(),lineto(),linerel(),recangle()和drawpoly()。 setwrit
36、emode()函数对应的头文件是graphics.h 返回值: 无 例: 设置画线输出模式为0: setwritemode(0); (三)、多边形函数对多边形,无疑可用画直线函数来画出它,但直接提供画多边形的函数会给用户很大方便。最常见的多边形有矩形、矩形块(或称条形)、多边形和多边形块,我们还把长方形条块也放到这里一起考虑,虽然它不是多边形,但它的特例就是矩形(块)。下面直接介绍画多边形的函数。 rectangle() 画矩形函数功能: 函数rectangle() 用当前绘图色、线型及线宽,画一个给定左上角与右下角的矩形(正方形或长方形)。 用法: 此函数调用方式为void rectangl
37、e(int left,int top,int right,int bottom); 说明: 参数left,top是左上角点坐标,right,bottom是右下角点坐标。如果有一个以上角点不在当前图形视口内,且裁剪标志clip设置的是真(1),那么调用该函数后,只有在图形视口内的矩形部分才被画出。 这个函数对应的头文件为graphics.h 返回值: 无 例: 下面的程序画一些矩形实例: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); rectangle(80,80,
38、220,200); rectangle(140,99,180,300); rectangle(6,6,88,88); rectangle(168,72,260,360); getch(); restorecrtmode(); bar() 画条函数功能: 函数bar()用当前填充图样和填充色(注意不是给图色)画出一个指定上左上角与右下角的实心长条形(长方块或正方块),但没有四条边线)。 用法: bar()函数调用方式为void bar(int left,int top,int right,int bottom); 说明: 参数left,topright,bottom分别为左上角坐标与右下角坐标,
39、它们和调用函数rectangle()的情形相同,调用此函数前,可用setfillstyle()或setfillpattern()设置当前填充图样和填充色。 注意此函数只画没有边线的条形,如果要画有边线的的条形,可调用下面的函数bar3d()来画,并将深度参数设为0,同时topflag参数要设置为真,否则该条形无顶边线。 这 应的头文件为graphics.h 返回值: 无 例: 见函数bar3d()中的实例。 bar3d() 画条块函数功能: 函数bar3d() 使用当前绘图色、线型及线宽画出三维长方形条块,并用当前填充图样和填 充色填充该三维条块的表面。 用法: 此函数调用方式为void ba
40、r3d(int left,int top,int right,int bottom,int depth,int topflag); 说明: 参数left,top,right,bottom分另为左上角与右下角坐标,这与bar()函数中的一样。参数depth为条块的深度,以像素为单位,通常按宽度的四分之一计算。深度方向通过屏显纵横比调节为约45度(即这时x/y比设置为1:1)。 参数topflag相当于一个HYPERLINK /view/46060.htm布尔参数,如果设置为1(真)那么条块上放一顶面;若设置为0(假),则三维条形就没有顶面,这样可使多个三维条形叠加在一起。 要使图形更加美观,可利
41、用函数floodfill()或setfillpattern()来选择填充图样和填充色(参见本小节(五)填充函数 )。 bar3d()函数对应的头文件为graphics.h 返回值: 无 例: 下面的程序画一个条形和条块: #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); setfillstyle(SOLID-FILL,GREEN); bar(60,80,220,160); setfillstyle(SOLID-FILL,RED); bar3d(260,180,360,
42、240,20,1); getch(); restorecrtmode(); drawpoly() 画多边形函数功能: 函数drawpoly() 用当前绘图色、线型及线宽,画一个给定若干点所定义的多边形。 用法: 此函数调用方式为void drawpoly(int pnumber,int *points); 说明: 参数pnumber为多边形的顶点数;参数points指向整型HYPERLINK /view/209670.htm数组,该数组中是多边形所有顶点(x,y)坐标值,即一系列整数对,x坐标值在前。显然整型数组的维数至少为顶点数的2倍,在定义了多边形所有顶点的数组polypoints时,顶点
43、数目可通过计算sizeof(polypoints)除以2倍的sizeof(int)得到,这里除以2倍的原因是每个顶点有两个整数坐标值。另外有一点要注意,画一个n个顶点的闭合图形,顶点数必须等于n+1,并且最后一点(第n+1)点坐标必须等于第一点的坐标。 drawpoly()函数对应的头文件为grpahics.h 返回值: 无 例: 下面的程序画一个封闭星形图与一个不封闭星形图: #i nclude void main() int driver,mode; static int polypoints118=100,100,110,120,100,130,120,125,140,140,130,1
44、20, 140,110,120,115,100,100; static int polypoints218=180,100,210,120,200,130,220,125,240,140,230,120, 240,110,220,115,220,110; driver=DETECT; mode=0; initgraph(&driver,&mode,); drawpoly(9,polypoints1); drawpoly(9,polypoints2); getch(); restorecrtmode(); (四)、 圆、弧和曲线函数在一个屏幕上画得很圆的图形到另一个屏幕上可能被压扁或拉长,这是因
45、为每一种显示卡与之相应的显示模式都有一个纵横比。纵横比是指像素的水平方向大小与垂直方向大小的比值。如VGA显示卡由于偈素基本上是正方形,所以纵横比为1.000。 为了保证几何图形基本按预计情况显示在屏幕上,用屏显的纵横比来计算和纠正不同硬件及显示卡产生的畸变。计算纵横比所需要的水平方向和垂直方向的比例系数可调用函数getaspectratio()获得。 getaspectratio()获取纵横比函数功能: 函数getaspectratio()返回x方向和y方向的比例系数,用这两个整型值可计算某一特定屏显的纵横比。 用法: 此函数调用方式为void getaspectratio(int xasp
46、,int yasp); 说明: 参数xasp指向的变量存放返回的x方向比例系数;参数yasp指向的变量存放返回的y方向比例系数。通常y方向比例系数为10 000, x方向比例系数不大于10 000(这是因为大多数屏幕像素高比宽长)。 注意纵横比自动用作下面函数arc(),circle()和pieslice()中的标尺因子,使屏幕上圆或弧正常显示。但用ellipse()函数画椭圆必须调用本函数获取纵横比作为标尺因子,否则不予调整。纵横比可用于其它几何图形,目的是校正和显示图形。 getaspectratio()函数对应的头文件为graphics.h 返回值: 返回x与y方向比例系数分别存放在xa
47、sp和yasp所指向的变量中。 例: 下面的程序显示纵横比: int xasp,yasp; float aspectratio; getaspectratio(&xasp,&yasp); aspectratio=xasp/yasp; printf(aspect ratio: %f,aspectratio); circle()画圆函数功能: 函数circle()使用当前绘图色并以实线画一个完整的圆。 用法:该函数调用方式为void circle(int x,int y,int radius); 说明: 参数x,y为圆心坐标,radius为圆半径,用像素个素表示。注意,调用circle()函数画圆
48、时不用当前线型。 不同于ellipse()函数,只用单个半径radius参数调用circle()函数,故屏显纵横比可以自动调节,以产生正确的显示图。 此函数对应的头文件为graphics.h 返回值: 无 例: 画六个同心圆,圆心在(100,100)。 #i nclude void main() int driver,mode; driver=DETECT; mode=0; initgraph(&driver,&mode,); circle(100,100,10); circle(100,100,20); circle(100,100,30); circle(100,100,40); circ
49、le(100,100,50); circle(100,100,60); getch(); restorecrtmode(); arc() 画圆弧函数功能: 函数arc()使用当前绘图色并以实线画一圆弧。 用法: 函数调用方式为void arc(int x,int y,int startangle,int endangle,int radius); 说明: 参数x,y为圆心坐标,startangle与endangle分别为起始角与终止角,radius为半径。圆心坐标和半径以像素个数给出,起始角和终止角以度为单位,0度位于右边,90度位于顶部,180度位于左边,底部是270度。同往常一样,360度
50、与0度重合。角度按逆时针方向增加,但并不要求终止角一定比起始角大。例如指定300度和90度分别为起始角和终止角,与指定300度和450度分别为起始角和终止角可画出相同的弧。大于360度可作为参数,它将被化到0度360度范围里。函数arc()能画封闭圆,只要取起始角为0度,终止角为360度即可。此函数中,屏显纵横比可自动调节。 arc()函数对应的头文件为graphics.h 返回值: 无 例: 以(200,200)为圆心,100为半径,从0度到120度画圆弧: #i ncludegraphics.h void main() int driver,mode; driver=DETECT; mod
51、e=0; initgraph(&driver,&mode,); setcolor(WHITE); arc(200,200,0,120,100); getch(); restorecrtmode(); graphics.h头文件的内容:/* graphics.h Definitions for Graphics Package. Copyright (c) Borland International 1987,1988 All Rights Reserved. */ #if _STDC_ #define _Cdecl #else #define _Cdecl cdecl #endif #if !
52、defined(_GRAPHX_DEF_) #define _GRAPHX_DEF_ enum graphics_errors /* graphresult error return codes */ grOk = 0, grNoInitGraph = -1, grNotDetected = -2, grFileNotFound = -3, grInvalidDriver = -4, grNoLoadMem = -5, grNoScanMem = -6, grNoFloodMem = -7, grFontNotFound = -8, grNoFontMem = -9, grInvalidMod
53、e = -10, grError = -11, /* generic error */ grIOerror = -12, grInvalidFont = -13, grInvalidFontNum = -14, grInvalidVersion = -18 ; enum graphics_drivers /* define graphics drivers */ DETECT, /* requests autodetection */ CGA, MCGA, EGA, EGA64, EGAMONO, IBM8514, /* 1 - 6 */ HERCMONO, ATT400, VGA, PC32
54、70, /* 7 - 10 */ CURRENT_DRIVER = -1 ; enum graphics_modes /* graphics modes for each driver */ CGAC0 = 0, /* 320 x200 palette 0; 1 page */ CGAC1 = 1, /* 320 x200 palette 1; 1 page */ CGAC2 = 2, /* 320 x200 palette 2: 1 page */ CGAC3 = 3, /* 320 x200 palette 3; 1 page */ CGAHI = 4, /* 640 x200 1 pag
55、e */ MCGAC0 = 0, /* 320 x200 palette 0; 1 page */ MCGAC1 = 1, /* 320 x200 palette 1; 1 page */ MCGAC2 = 2, /* 320 x200 palette 2; 1 page */ MCGAC3 = 3, /* 320 x200 palette 3; 1 page */ MCGAMED = 4, /* 640 x200 1 page */ MCGAHI = 5, /* 640 x480 1 page */ EGALO = 0, /* 640 x200 16 color 4 pages */ EGA
56、HI = 1, /* 640 x350 16 color 2 pages */ EGA64LO = 0, /* 640 x200 16 color 1 page */ EGA64HI = 1, /* 640 x350 4 color 1 page */ EGAMONOHI = 0, /* 640 x350 64K on card, 1 256K on card, 4 pages */ HERCMONOHI = 0, /* 720 x348 2 pages */ ATT400C0 = 0, /* 320 x200 palette 0; 1 page */ ATT400C1 = 1, /* 320
57、 x200 palette 1; 1 page */ ATT400C2 = 2, /* 320 x200 palette 2; 1 page */ ATT400C3 = 3, /* 320 x200 palette 3; 1 page */ ATT400MED = 4, /* 640 x200 1 page */ ATT400HI = 5, /* 640 x400 1 page */ VGALO = 0, /* 640 x200 16 color 4 pages */ VGAMED = 1, /* 640 x350 16 color 2 pages */ VGAHI = 2, /* 640 x
58、480 16 color 1 page */ PC3270HI = 0, /* 720 x350 1 page */ IBM8514LO = 0, /* 640 x480 256 colors */ IBM8514HI = 1 /*1024x768 256 colors */ ; /* Colors for setpalette and setallpalette */ #if !defined(_COLORS) #define _COLORS enum COLORS BLACK, /* dark colors */ BLUE, GREEN, CYAN, RED, MAGENTA, BROWN
59、, LIGHTGRAY, DARKGRAY, /* light colors */ LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE ; #endif enum CGA_COLORS CGA_LIGHTGREEN = 1, /* Palette C0 Color Names */ CGA_LIGHTRED = 2, CGA_YELLOW = 3, CGA_LIGHTCYAN = 1, /* Palette C1 Color Names */ CGA_LIGHTMAGENTA = 2, CGA_WHIT
60、E = 3, CGA_GREEN = 1, /* Palette C2 Color Names */ CGA_RED = 2, CGA_BROWN = 3, CGA_CYAN = 1, /* Palette C3 Color Names */ CGA_MAGENTA = 2, CGA_LIGHTGRAY = 3 ; enum EGA_COLORS EGA_BLACK = 0, /* dark colors */ EGA_BLUE = 1, EGA_GREEN = 2, EGA_CYAN = 3, EGA_RED = 4, EGA_MAGENTA = 5, EGA_BROWN = 20, EGA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人助学贷款合同范本(2024版)2篇
- 水文信息共享平台-洞察分析
- 营养咨询与职场效能提升-洞察分析
- 有机光电材料-洞察分析
- 脱细胞支架构建-洞察分析
- 110kV线路电缆头技术规范书
- 系统级库设计-洞察分析
- 二零二五年度酒店餐饮业务股权转让与品牌合作合同3篇
- 仓储物流行业安全管理工作总结
- 2025年度红酒企业文化建设与品牌推广合同3篇
- 比亚迪汉DM说明书
- 公园绿化应急抢险预案总结
- 电网调度自动化系统调试报告模板
- 托福阅读讲义
- 输电线路基础知识输电线路组成与型式
- 三年级数字加减法巧算
- GB/T 10609.3-1989技术制图复制图的折叠方法
- GB 4053.2-2009固定式钢梯及平台安全要求第2部分:钢斜梯
- 通力电梯培训教材:《LCE控制系统课程》
- 品管圈PDCA持续质量改进提高静脉血栓栓塞症规范预防率
- 陕西省榆林市各县区乡镇行政村村庄村名居民村民委员会明细
评论
0/150
提交评论