@implementation BrightnessController
// MyCreateBitmapContext: Source based on Apple Sample Code
CGContextRef MyCreateBitmapContext (int pixelsWide,
int pixelsHigh)
{
CGContextRef context = NULL;
CGColorSpaceRef colorSpace;
void * bitmapData;
int bitmapByteCount;
int bitmapBytesPerRow;
bitmapBytesPerRow = (pixelsWide * 4);
bitmapByteCount = (bitmapBytesPerRow * pixelsHigh);
colorSpace = CGColorSpaceCreateDeviceRGB();
bitmapData = malloc( bitmapByteCount );
if (bitmapData == NULL)
{
fprintf (stderr, "Memory not allocated!");
CGColorSpaceRelease( colorSpace );
return NULL;
}
context = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8,
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
if (context== NULL)
{
free (bitmapData);
fprintf (stderr, "Context not created!");
return NULL;
}
CGColorSpaceRelease( colorSpace );
return context;
}
// addRoundedRectToPath: Source based on Apple Sample Code
static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth,
float ovalHeight)
{
float fw, fh;
if (ovalWidth == 0 || ovalHeight == 0) {
CGContextAddRect(context, rect);
return;
}
CGContextSaveGState(context);
CGContextTranslateCTM(context, CGRectGetMinX(rect), CGRectGetMinY(rect));
CGContextScaleCTM(context, ovalWidth, ovalHeight);
fw = CGRectGetWidth(rect) / ovalWidth;
fh = CGRectGetHeight(rect) / ovalHeight;
CGContextMoveToPoint(context, fw, fh/2); // Start at lower right corner
CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1); // Top right corner
CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1); // Top left corner
CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1); // Lower left corner
CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1); // Back to lower right
CGContextClosePath(context);
CGContextRestoreGState(context);
}
// Build an image tinted at the given percentage
id createImage(float percentage)
{
CGContextRef context = MyCreateBitmapContext(30, 30);
addRoundedRectToPath(context, CGRectMake(0.0f, 0.0f, 30.0f, 30.0f), 4.0f, 4.0f);
CGFloat gray[4] = {percentage, percentage, percentage, 1.0f};
CGContextSetFillColor(context, gray);
CGContextFillPath(context);
CGImageRef myRef = CGBitmapContextCreateImage (context);
free(CGBitmapContextGetData(context));
CGContextRelease(context);
return [UIImage imageWithCGImage:myRef];
}
#define MAXDEPTH 8
-(BrightnessController *) initWithBrightness: (int) aBrightness
{
self = [super init];
brightness = aBrightness;
self.title = [NSString stringWithFormat:@"%d%%", brightness * 10];
[self.tabBarItem initWithTitle:self.title image:createImage(((float) brightness / 10.0f)) tag:0];
return self;
}
- (void)loadView
{
UIView *contentView = [[UIView alloc] init];
float percent = brightness * 0.1;
contentView.backgroundColor = [UIColor colorWithRed:percent green:percent blue:percent alpha:1.0];
contentView.autoresizesSubviews = YES;
contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
self.view = contentView;
[contentView release];
}
@end
分享到:
相关推荐
6. "iOS_7_Base_Roundrect_for_iPhone.psd":此文件可能提供了一个基本的圆角矩形图层,用于构建其他图标的基础形状。 7. "西部E网-更多的软件资讯.url":这似乎是一个网站链接,可能提供了更多关于软件设计和资讯的...
我们可以通过为ListView的每个条目设置一个带有圆角的背景图片或使用XML drawable资源来创建圆角矩形。 1. 创建一个XML布局文件(如`list_item.xml`)作为ListView的单个条目。在这个布局文件中,你可以定义一个...
在onDraw()中使用Canvas的drawRoundRect()方法绘制矩形,并设置适当的圆角半径。 3. **使用CardView组件**:Google推出的CardView可以方便地实现圆角效果。将ListView的每个列表项包裹在CardView内,设置CardView的...
例如,我们可以从矩形的一个角出发,画一条线到箭头尖端,然后通过两个弧形点形成箭头的两个侧翼。完成箭头的绘制后,再用CGContextFillPath填充颜色,这样我们就得到了一个带有圆角和箭头的矩形提示框。 需要注意...
因此,此部件库中的组件将遵循这些原则,包括但不限于清晰的图标、扁平化的设计、以及苹果特有的圆角矩形和阴影效果。 "IPhone Bodies All.rplib"可能包含各种iPhone设备的模型,如iPhone X、iPhone 11、iPhone 12...
这通常涉及到重写`onDraw()`方法,在其中绘制特定的图形元素,如圆角矩形、阴影效果等,这些都是iPhone界面的典型特征。 2. **圆角矩形**: iPhone的界面元素往往具有圆润的边角。在Android中,你可以使用`Paint`...
比如程序启动时由小变大向前推出显示, 比如iphone的程序切换时的动画, 比如圆角矩形的边框, 比如水波纹的动画效果 另外, 还有超炫的目录页面动画, 还有表示当前播放到哪一部分的漂亮的动态圆点行, 还有自动生成页码,...
3. 背景与边框:iPhone图标通常有圆角矩形背景,该工具可能会提供预设的边框样式或允许用户自定义边框形状,如圆角半径、边框宽度和颜色。 4. 文字与符号:如果需要在图标中加入文字或特殊符号,工具应提供文本编辑...
这可能包括了自定义控件的设计,以模拟iPhone的圆角矩形、半透明效果以及触控反馈等功能,使得最终的应用程序在Windows操作系统上也能提供接近iOS的视觉体验。 【标签】"Delphi 模仿 iPhone 按钮 Icon"进一步强调了...
在WPF中,我们可以使用XAML(Extensible Application Markup Language)来定义和布局UI元素,模仿iPhone的界面风格,包括圆角矩形、阴影效果、半透明层以及平铺式图标等。 接下来,我们关注的是"内置的MVC框架"。...
这个"iPhone样式的AlertDialog"通常指的是具有苹果设备特有的交互效果和视觉风格的对话框,比如圆角矩形、半透明背景以及简洁的按钮布局。 在Android中,Alertdialog是用于显示一个小型警告对话框的组件,它包含一...
对于iPhone 12,这可能包括矩形、圆角、倒角、孔等基本特征。2016版的SolidWorks引入了更流畅的工作流程和增强的工具,使得复杂模型的创建更为高效。 开始建模之前,确保你已正确安装并启动SolidWorks 2016。打开...
例如,用户可能看到iOS风格的主屏幕,带有圆角矩形的应用图标,以及滑动解锁的交互方式。 文件名称列表中的"iPhone-Zen-83,88"可能表示这个主题包的名称是"iPhone Zen",并且它适用于黑莓83系列和88系列的部分设备...
本Demo介绍了在iOS中用Core Graphics函数画直线、画孤线、画圆形、画扇形、画椭圆、画三角形、画长方形、画圆角矩形、画贝兹尔曲线、画渐变色、画图片的基本操作。很适合初学者参考借鉴。开发环境:在Mac OS 10.12里...
1. **圆角矩形**:iPhone风格的对话框通常采用圆角矩形设计,这与Android原生的方形对话框有所区别,增加了视觉上的柔和感。 2. **阴影效果**:在iPhone的对话框中,会添加一定的阴影效果,使其在屏幕背景上显得...
主要特点包括圆角矩形的按钮、半透明效果、滑动操作以及富有层次感的布局。要在wince或winmobile平台上模仿这些特性,我们可以采用以下几种方法: 1. **图形设计**:创建具有iPhone风格的图标、按钮和其他UI元素。...
这可能包括圆角矩形背景、标题、消息文本和自定义按钮。例如,可以使用`CardView`组件来实现圆角效果,并通过设置背景颜色和alpha值来模拟半透明效果。 2. **自定义样式**:Android的`AlertDialog`或者`...
在这里,开发者可能会创建一个与iOS风格相似的界面,包括但不限于圆角矩形的截图区域、底部的阴影效果、以及可能的按钮等元素。通过设置布局属性,如`android:background`、`android:elevation`、`android:radius`等...
1. 圆角矩形:Android的弹窗默认为方形,我们可以自定义背景,使用CardView或自定义Shape来实现圆角效果。 2. 淡入淡出动画:添加进入和退出动画,模拟iPhone弹窗的过渡效果,可以使用Animation类或者Transition API...
这包括但不限于:圆角矩形按钮、半透明效果、滑动切换、图标设计以及触摸友好的布局。开发者需要特别关注以下几个方面: 1. **布局设计**:iPhone的界面通常采用网格系统,保持一致性,同时注重内容的清晰展示。...