button上的图片显示蓝色

UIButton *headImg = [UIButton buttonWithType:UIButtonTypeCustom];

headImg.frame = CGRectMake((UISCREEN_WIDTH-60)/2, 5, 60, 60);

[headImg setImage:[UIImage imageNamed:@"我的.png"] forState:UIControlStateNormal];

headImg.layer.masksToBounds = YES;

headImg.layer.cornerRadius = 30;

headImg.layer.borderWidth = 1;

headImg.layer.borderColor = [UIColor redColor].CGColor;

headImg.tag = 2;

[headImg addTarget:self action:@selector(gotoView:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:headImg];


问题没有解决前的图片:


好的,我可以给你提供一些实现这些功能的思路: 1. 旋转:使用Qt中的QTransform类可以实现对图片的旋转,可以通过按钮控制旋转角度。 2. 放大缩小:使用Qt中的QPixmap类可以实现对图片的缩放,可以通过按钮控制缩放比例。 3. 左移右移:使用QPixmap类的move函数可以实现图片的移动,可以通过按钮控制移动距离。 4. 染蓝色染红色:使用QPixmap类的fill函数可以实现对图片的填充颜色,可以通过按钮控制填充颜色。 5. 重置:使用QPixmap类的load函数可以重新加载图片,恢复到初始状态。 下面是一个简单的实现示例: ```cpp #include <QApplication> #include <QLabel> #include <QPushButton> #include <QPixmap> #include <QTransform> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 加载图片 QPixmap pixmap(":/image.png"); // 显示图片 QLabel label; label.setPixmap(pixmap); label.show(); // 旋转按钮 QPushButton rotateButton("Rotate"); QObject::connect(&rotateButton, &QPushButton::clicked, [&]() { QTransform transform; transform.rotate(30); pixmap = pixmap.transformed(transform); label.setPixmap(pixmap); }); rotateButton.show(); // 缩放按钮 QPushButton zoomButton("Zoom"); QObject::connect(&zoomButton, &QPushButton::clicked, [&]() { pixmap = pixmap.scaled(pixmap.size() * 1.2f); label.setPixmap(pixmap); }); zoomButton.show(); // 左移按钮 QPushButton moveLeftButton("Move Left"); QObject::connect(&moveLeftButton, &QPushButton::clicked, [&]() { pixmap = pixmap.copy(-10, 0, pixmap.width(), pixmap.height()); label.setPixmap(pixmap); }); moveLeftButton.show(); // 右移按钮 QPushButton moveRightButton("Move Right"); QObject::connect(&moveRightButton, &QPushButton::clicked, [&]() { pixmap = pixmap.copy(10, 0, pixmap.width(), pixmap.height()); label.setPixmap(pixmap); }); moveRightButton.show(); // 染蓝色按钮 QPushButton blueButton("Blue"); QObject::connect(&blueButton, &QPushButton::clicked, [&]() { QPixmap newPixmap(pixmap.size()); newPixmap.fill(Qt::blue); QPainter painter(&newPixmap); painter.drawPixmap(0, 0, pixmap); pixmap = newPixmap; label.setPixmap(pixmap); }); blueButton.show(); // 染红色按钮 QPushButton redButton("Red"); QObject::connect(&redButton, &QPushButton::clicked, [&]() { QPixmap newPixmap(pixmap.size()); newPixmap.fill(Qt::red); QPainter painter(&newPixmap); painter.drawPixmap(0, 0, pixmap); pixmap = newPixmap; label.setPixmap(pixmap); }); redButton.show(); // 重置按钮 QPushButton resetButton("Reset"); QObject::connect(&resetButton, &QPushButton::clicked, [&]() { pixmap.load(":/image.png"); label.setPixmap(pixmap); }); resetButton.show(); return app.exec(); } ``` 这是一个简单的示例,你可以根据需要做出更完善的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值