Xuni コントロール > Gauge > 機能 > 画像のエクスポート |
XuniGauge を使用して、ゲージを画像の形式でエクスポートし、それを iOS デバイスのカメラロールに保存したり、必要に応じて好きな場所を選択して保存できます。iPhone や iPad でとるスクリーンショットとまったく同様に機能します。次の例では、スナップショットボタンを XuniGauge の上端に追加します。ユーザーは、ボタンをタップしてチャートをギャラリーに保存できます。
Objective-C |
コードのコピー
|
---|---|
var radialGauge = XuniRadialGauge() var snapshotButton = UIButton() var snapshotImage = UIImageView() override func viewDidLoad() { super.viewDidLoad() snapshotButton = UIButton.buttonWithType(UIButtonType.System) as! UIButton snapshotButton.setTitle("画像の取得", forState: UIControlState.Normal) snapshotButton.addTarget(self, action: "snapshotButtonClicked", forControlEvents: UIControlEvents.TouchUpInside) radialGauge.showText = XuniShowText.All radialGauge.thickness = 0.6 radialGauge.min = 0 radialGauge.max = 100 radialGauge.value = 25 radialGauge.loadAnimation.duration = 2 radialGauge.updateAnimation.duration = 2 radialGauge.pointer.thickness = 0.5 self.view.addSubview(snapshotButton) self.view.addSubview(radialGauge) self.view.addSubview(snapshotImage) NSTimer.scheduledTimerWithTimeInterval(4, target: self, selector: "animateNextStep", userInfo: nil, repeats: true) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() var r1 = XuniRect(left: 5, top: 115, width: Double(self.view.bounds.size.width-10), height: Double(self.view.bounds.size.height/2 - 65)) radialGauge.frame = CGRectMake(5, 115, self.view.bounds.size.width-10, self.view.bounds.size.height/2 - 65) radialGauge.rectGauge = r1 snapshotImage.frame = CGRectMake(5, self.view.bounds.size.height / 2 + 65, self.view.bounds.size.width - 10, self.view.bounds.size.height/2 - 65) snapshotButton.frame = CGRectMake(0, 65, self.view.bounds.size.width, 50) radialGauge.setNeedsDisplay() } func animateNextStep(){ radialGauge.value = Double(arc4random() % 101) } func snapshotButtonClicked(){ var image = UIImage(data: radialGauge.getImage()) UIImageWriteToSavedPhotosAlbum(image, self, "imageSavedToPhotoAlbum:error:contextInfo:", nil) snapshotImage.image = image } func imageSavedToPhotoAlbum(image: UIImage!, error: NSError!, contextInfo: UnsafePointer<Void>){ var message = String() var title = String() if(error == nil){ title = "成功" message = "画像はカメラロールに正常に保存されました。" } else{ title = "失敗" message = error.description } var alert = UIAlertView(title: title, message: message, delegate: nil, cancelButtonTitle: "OK") alert.show(); } |