gpt4 book ai didi

ios - 使用图像自定义进度条

转载 作者:行者123 更新时间:2023-11-29 13:23:05 24 4
gpt4 key购买 nike

我正在开发一个自定义进度条,它将根据百分比值显示图像的一部分。我的想法是有两张图片,原版和黑白版。我正在显示黑白图像,最重要的是我正在根据百分比裁剪原始图像。从上到下运行良好。

请问,有什么办法可以让原图从下往上“长”?

以下是到目前为止我的代码示例:

    UIImageView *imgDefViewGray = [[UIImageView alloc] initWithFrame:CGRectMake(170, 85, 60, 60)];
imgDefViewGray.image = [UIImage imageNamed:@"castle-gray.png"];
[self addSubview:imgDefViewGray];

UIImageView *imgDefView = [[UIImageView alloc] initWithFrame:CGRectMake(170, 85, 60, 60)];
imgDefView.image = [UIImage imageNamed:@"castle.png"];

CGRect rect = CGRectMake(0, 0 , 60, **50**);
CGImageRef imageRef = CGImageCreateWithImageInRect([imgDefView.image CGImage], rect);
UIImage *img = [UIImage imageWithCGImage:imageRef];

imgDefView = [[UIImageView alloc] initWithFrame:CGRectMake(170, 85, 60, **50**)];
imgDefView.image = img;
[self addSubview:imgDefView];

因此,通过更改 Bold(双星号)的值,我已经实现了按我想要的方式裁剪原始图像,但方向为 top->bottom。我想要底部->顶部。

提前致谢

最佳答案

经过多次尝试,我找到了想要的结果。以下是我对我的问题的解决方案。我希望将来遇到或想要同样的人发现它有用。

    UIImageView *imgDefViewGray = [[UIImageView alloc] initWithFrame:CGRectMake(170, 85, 60, 60)];
imgDefViewGray.image = [UIImage imageNamed:@"castle-gray.png"];//60x60 b&w image

UIImage originalImg = [UIImage imageNamed:@"castle.png"];//60x60 original image
CGRect rect = CGRectMake(0, originalImg.size.height-scaleDefence), 60 , scaleDefence);//scaleDefence is just a float variable that converts current percentage value to px.

CGImageRef imageRef = CGImageCreateWithImageInRect([originalImg CGImage], rect);
UIImage *croppedImg = [UIImage imageWithCGImage:imageRef];

UIImageView *imgDefView = [[UIImageView alloc] initWithFrame:CGRectMake(0, originalImg.size.height-scaleDefence, 60, scaleDefence)];//dynamically changing y-axis depending on cropped image's height.
imgDefView.image = croppedImg;

[imgDefViewGray addSubview:imgDefView];//make original image part of b&w
[self addSubview:imgDefViewGray];//finally add the result to the view

关于ios - 使用图像自定义进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13870468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com